From 33beebf4cb42eba3e1dd868ad5e0af102de961da Mon Sep 17 00:00:00 2001 From: Mark Wells Date: Sat, 29 Sep 2012 16:36:46 -0700 Subject: update address standardization for cust_location changes --- rt/.perlcriticrc | 51 +- rt/FREESIDE_MODIFIED | 22 +- rt/Makefile | 536 - rt/Makefile.in | 244 +- rt/README | 427 +- rt/README.Oracle | 33 +- rt/UPGRADING | 417 - rt/UPGRADING.mysql | 86 - rt/aclocal.m4 | 6 +- rt/autom4te.cache/output.0 | 5138 -------- rt/autom4te.cache/requests | 68 - rt/autom4te.cache/traces.0 | 727 -- rt/bin/fastcgi_server | 263 - rt/bin/fastcgi_server.in | 263 - rt/bin/mason_handler.fcgi | 99 - rt/bin/mason_handler.fcgi.in | 99 - rt/bin/mason_handler.scgi | 80 - rt/bin/mason_handler.scgi.in | 80 - rt/bin/mason_handler.svc | 276 - rt/bin/mason_handler.svc.in | 276 - rt/bin/rt | 2611 ++++ rt/bin/rt-crontool | 400 - rt/bin/rt-crontool.in | 159 +- rt/bin/rt-mailgate | 409 - rt/bin/rt-mailgate.in | 331 +- rt/bin/rt.in | 138 +- rt/bin/standalone_httpd | 186 - rt/bin/standalone_httpd.in | 186 - rt/bin/webmux.pl.in | 205 - rt/config.layout.in | 143 +- rt/config.log | 395 - rt/config.status | 1091 -- rt/configure | 369 +- rt/configure.ac | 96 +- rt/devel/tools/apache.conf | 173 + rt/devel/tools/change-loc-msgstr | 92 + rt/devel/tools/extract-message-catalog | 385 + rt/devel/tools/factory | 372 + rt/devel/tools/license_tag | 262 + rt/devel/tools/merge-rosetta.pl | 49 + rt/devel/tools/rt-attributes-editor | 130 + rt/devel/tools/tweak-template-locstring | 55 + rt/docs/README.docs | 2 - rt/docs/Security | 12 - rt/docs/UPGRADING-2.0 | 7 + rt/docs/UPGRADING-3.0 | 18 + rt/docs/UPGRADING-3.2 | 11 + rt/docs/UPGRADING-3.4 | 12 + rt/docs/UPGRADING-3.6 | 49 + rt/docs/UPGRADING-3.8 | 192 + rt/docs/UPGRADING-4.0 | 131 + rt/docs/UPGRADING.mysql | 85 + rt/docs/creating_external_custom_fields.pod | 97 - rt/docs/customizing/articles_introduction.pod | 155 + rt/docs/customizing/templates.pod | 132 + rt/docs/customizing/timezones_in_charts.pod | 88 + rt/docs/design_docs/3.3-schema-redesign.txt | 57 - rt/docs/design_docs/CARS | 66 - rt/docs/design_docs/TransactionTypes.txt | 48 - rt/docs/design_docs/acls | 50 - rt/docs/design_docs/approval_notices | 8 - rt/docs/design_docs/approval_template | 25 - rt/docs/design_docs/cf_search | 72 - rt/docs/design_docs/cli_spec | 31 - rt/docs/design_docs/cvs_integration | 164 - rt/docs/design_docs/delegation | 115 - rt/docs/design_docs/evil_plans | 162 - .../design_docs/gnupg_details_on_output_formats | 1253 -- rt/docs/design_docs/groups_notes | 88 - rt/docs/design_docs/link-definitions.txt | 143 - rt/docs/design_docs/realflow.txt | 191 - .../recursive_group_membership_algorithm | 109 - rt/docs/design_docs/rql_parser_machine.graphviz | 35 - rt/docs/design_docs/rt-mvc | 32 - rt/docs/design_docs/ruleset-workflow.txt | 158 - rt/docs/design_docs/subscription-definitions.txt | 113 - rt/docs/design_docs/ticket_templates | 16 - rt/docs/design_docs/users | 14 - rt/docs/extending/clickable_links.pod | 184 + rt/docs/extending/external_custom_fields.pod | 90 + rt/docs/extending/using_forms_widgets.pod | 113 + rt/docs/extending_clickable_links.pod | 157 - rt/docs/full_text_indexing.pod | 174 + rt/docs/glossary.pod | 30 + rt/docs/gnupg_integration.pod | 1 - rt/docs/hacking.pod | 301 + rt/docs/network-diagram.svg | 6095 +++++++++ rt/docs/perlcritic.pod | 8 - rt/docs/porting.windows | 24 - rt/docs/queue_subject_tag.pod | 79 - rt/docs/rt3-schema-relationships.dot | 89 - rt/docs/schema.dot | 99 + rt/docs/security.pod | 92 + rt/docs/templates.pod | 65 - rt/docs/timezones_in_charts.pod | 84 - rt/docs/using_forms_widgets.pod | 113 - rt/docs/web_deployment.pod | 246 + rt/etc/RT_Config.pm | 1898 --- rt/etc/RT_Config.pm.in | 2786 ++-- rt/etc/RT_SiteConfig.pm | 5 +- rt/etc/acl.Informix | 6 - rt/etc/acl.Pg | 10 + rt/etc/acl.Sybase | 10 - rt/etc/constraints.mysql | 85 - rt/etc/drop.Informix | 19 - rt/etc/initialdata | 31 +- rt/etc/schema.Informix | 364 - rt/etc/schema.Pg | 170 +- rt/etc/schema.SQLite | 186 +- rt/etc/schema.Sybase | 444 - rt/etc/schema.mysql | 499 + rt/etc/schema.mysql-4.0 | 464 - rt/etc/upgrade/3.1.0/acl.Informix | 4 - rt/etc/upgrade/3.1.0/schema.Informix | 17 - rt/etc/upgrade/3.1.0/schema.Pg | 4 +- rt/etc/upgrade/3.1.0/schema.mysql | 4 +- rt/etc/upgrade/3.3.0/acl.Informix | 4 - rt/etc/upgrade/3.3.0/schema.mysql | 55 +- rt/etc/upgrade/3.3.11/schema.mysql | 4 +- rt/etc/upgrade/3.7.19/content | 2 +- rt/etc/upgrade/3.7.86/content | 4 +- rt/etc/upgrade/3.8-branded-queues-extension | 95 - rt/etc/upgrade/3.8-branded-queues-extension.in | 4 +- rt/etc/upgrade/3.8-ical-extension | 96 - rt/etc/upgrade/3.8-ical-extension.in | 6 +- rt/etc/upgrade/3.8.0/content | 4 +- rt/etc/upgrade/3.8.1/content | 4 +- rt/etc/upgrade/3.8.2/content | 12 +- rt/etc/upgrade/3.8.3/content | 6 +- rt/etc/upgrade/3.8.4/content | 6 +- rt/etc/upgrade/3.8.8/content | 4 +- rt/etc/upgrade/3.8.9/content | 2 +- rt/etc/upgrade/3.9.1/content | 68 + rt/etc/upgrade/3.9.2/content | 48 + rt/etc/upgrade/3.9.3/schema.Oracle | 2 + rt/etc/upgrade/3.9.3/schema.Pg | 2 + rt/etc/upgrade/3.9.3/schema.mysql | 2 + rt/etc/upgrade/3.9.5/backcompat | 1 + rt/etc/upgrade/3.9.5/schema.Oracle | 20 + rt/etc/upgrade/3.9.5/schema.Pg | 20 + rt/etc/upgrade/3.9.5/schema.SQLite | 19 + rt/etc/upgrade/3.9.5/schema.mysql | 20 + rt/etc/upgrade/3.9.6/schema.Oracle | 1 + rt/etc/upgrade/3.9.6/schema.Pg | 1 + rt/etc/upgrade/3.9.6/schema.SQLite | 69 + rt/etc/upgrade/3.9.6/schema.mysql | 1 + rt/etc/upgrade/3.9.7/content | 82 + rt/etc/upgrade/3.9.7/schema.Oracle | 6 + rt/etc/upgrade/3.9.7/schema.Pg | 6 + rt/etc/upgrade/3.9.7/schema.SQLite | 6 + rt/etc/upgrade/3.9.7/schema.mysql | 6 + rt/etc/upgrade/3.9.8/content | 24 + rt/etc/upgrade/3.9.8/schema.Oracle | 65 + rt/etc/upgrade/3.9.8/schema.Pg | 62 + rt/etc/upgrade/3.9.8/schema.SQLite | 55 + rt/etc/upgrade/3.9.8/schema.mysql | 58 + rt/etc/upgrade/4.0.0rc2/schema.mysql | 10 + rt/etc/upgrade/4.0.0rc4/schema.Oracle | 1 + rt/etc/upgrade/4.0.0rc4/schema.Pg | 1 + rt/etc/upgrade/4.0.0rc4/schema.mysql | 1 + rt/etc/upgrade/4.0.0rc7/content | 21 + rt/etc/upgrade/4.0.1/acl.Pg | 39 + rt/etc/upgrade/4.0.1/content | 83 + rt/etc/upgrade/4.0.3/content | 23 + rt/etc/upgrade/4.0.4/content | 16 + rt/etc/upgrade/4.0.6/content | 17 + rt/etc/upgrade/4.0.6/schema.mysql | 1 + rt/etc/upgrade/generate-rtaddressregexp | 87 - rt/etc/upgrade/generate-rtaddressregexp.in | 42 +- rt/etc/upgrade/sanity-check-stylesheets.pl | 87 + rt/etc/upgrade/shrink_cgm_table.pl | 6 +- rt/etc/upgrade/shrink_transactions_table.pl | 6 +- rt/etc/upgrade/split-out-cf-categories | 171 - rt/etc/upgrade/split-out-cf-categories.in | 18 +- rt/etc/upgrade/upgrade-articles | 264 + rt/etc/upgrade/upgrade-articles.in | 264 + rt/etc/upgrade/upgrade-mysql-schema.pl | 41 +- rt/etc/upgrade/vulnerable-passwords | 139 - rt/etc/upgrade/vulnerable-passwords.in | 5 +- rt/lib/RT.pm | 351 +- rt/lib/RT.pm.in | 719 - rt/lib/RT/ACE.pm | 649 +- rt/lib/RT/ACE_Overlay.pm | 743 -- rt/lib/RT/ACL.pm | 281 +- rt/lib/RT/ACL_Overlay.pm | 377 - rt/lib/RT/Action.pm | 31 +- rt/lib/RT/Action/Accumulate.pm | 3 +- rt/lib/RT/Action/AutoOpen.pm | 57 +- rt/lib/RT/Action/Autoreply.pm | 8 +- rt/lib/RT/Action/CreateTickets.pm | 67 +- rt/lib/RT/Action/EscalatePriority.pm | 9 +- rt/lib/RT/Action/EscalateQueue.pm | 21 +- rt/lib/RT/Action/ExtractSubjectTag.pm | 8 +- rt/lib/RT/Action/Generic.pm | 73 - rt/lib/RT/Action/LinearEscalate.pm | 2 +- rt/lib/RT/Action/Notify.pm | 29 +- rt/lib/RT/Action/NotifyAsComment.pm | 2 +- rt/lib/RT/Action/NotifyGroup.pm | 2 +- rt/lib/RT/Action/NotifyGroupAsComment.pm | 2 +- rt/lib/RT/Action/RecordComment.pm | 2 +- rt/lib/RT/Action/RecordCorrespondence.pm | 2 +- rt/lib/RT/Action/ResolveMembers.pm | 108 - rt/lib/RT/Action/SendEmail.pm | 166 +- rt/lib/RT/Action/SetPriority.pm | 6 +- rt/lib/RT/Action/SetStatus.pm | 152 + rt/lib/RT/Action/UserDefined.pm | 2 +- rt/lib/RT/Approval.pm | 3 +- rt/lib/RT/Approval/Rule.pm | 8 +- rt/lib/RT/Approval/Rule/Created.pm | 2 +- rt/lib/RT/Approval/Rule/NewPending.pm | 2 +- rt/lib/RT/Approval/Rule/Passed.pm | 7 +- rt/lib/RT/Approval/Rule/Rejected.pm | 4 +- rt/lib/RT/Article.pm | 881 ++ rt/lib/RT/Articles.pm | 928 ++ rt/lib/RT/Attachment.pm | 880 +- rt/lib/RT/Attachment_Overlay.pm | 764 -- rt/lib/RT/Attachments.pm | 197 +- rt/lib/RT/Attachments_Overlay.pm | 242 - rt/lib/RT/Attribute.pm | 452 +- rt/lib/RT/Attribute_Overlay.pm | 435 - rt/lib/RT/Attributes.pm | 177 +- rt/lib/RT/Attributes_Overlay.pm | 214 - rt/lib/RT/Base.pm | 16 +- rt/lib/RT/CachedGroupMember.pm | 324 +- rt/lib/RT/CachedGroupMember_Overlay.pm | 369 - rt/lib/RT/CachedGroupMembers.pm | 133 +- rt/lib/RT/CachedGroupMembers_Overlay.pm | 173 - rt/lib/RT/Class.pm | 621 + rt/lib/RT/Classes.pm | 104 + rt/lib/RT/Condition.pm | 23 +- rt/lib/RT/Condition/AnyTransaction.pm | 2 +- rt/lib/RT/Condition/BeforeDue.pm | 4 +- rt/lib/RT/Condition/CloseTicket.pm | 2 +- rt/lib/RT/Condition/Generic.pm | 74 - rt/lib/RT/Condition/Overdue.pm | 2 +- rt/lib/RT/Condition/OwnerChange.pm | 2 +- rt/lib/RT/Condition/PriorityChange.pm | 2 +- rt/lib/RT/Condition/PriorityExceeds.pm | 2 +- rt/lib/RT/Condition/QueueChange.pm | 2 +- rt/lib/RT/Condition/ReopenTicket.pm | 2 +- rt/lib/RT/Condition/StatusChange.pm | 85 +- rt/lib/RT/Condition/UserDefined.pm | 2 +- rt/lib/RT/Config.pm | 568 +- rt/lib/RT/Crypt/GnuPG.pm | 64 +- rt/lib/RT/CurrentUser.pm | 15 +- rt/lib/RT/CustomField.pm | 1900 ++- rt/lib/RT/CustomFieldValue.pm | 184 +- rt/lib/RT/CustomFieldValue_Overlay.pm | 195 - rt/lib/RT/CustomFieldValues.pm | 92 +- rt/lib/RT/CustomFieldValues/External.pm | 10 +- rt/lib/RT/CustomFieldValues/Groups.pm | 2 +- rt/lib/RT/CustomFieldValues_Overlay.pm | 75 - rt/lib/RT/CustomField_Overlay.pm | 1476 --- rt/lib/RT/CustomFields.pm | 334 +- rt/lib/RT/CustomFields_Overlay.pm | 347 - rt/lib/RT/Dashboard.pm | 188 +- rt/lib/RT/Dashboard/Mailer.pm | 580 + rt/lib/RT/Dashboards.pm | 112 + rt/lib/RT/Date.pm | 103 +- rt/lib/RT/EmailParser.pm | 34 +- rt/lib/RT/Generated.pm | 81 + rt/lib/RT/Generated.pm.in | 81 + rt/lib/RT/Graph/Tickets.pm | 16 +- rt/lib/RT/Group.pm | 1297 +- rt/lib/RT/GroupMember.pm | 409 +- rt/lib/RT/GroupMember_Overlay.pm | 396 - rt/lib/RT/GroupMembers.pm | 109 +- rt/lib/RT/GroupMembers_Overlay.pm | 149 - rt/lib/RT/Group_Overlay.pm | 1398 -- rt/lib/RT/Groups.pm | 421 +- rt/lib/RT/Groups_Overlay.pm | 447 - rt/lib/RT/Handle.pm | 270 +- rt/lib/RT/I18N.pm | 341 +- rt/lib/RT/I18N/ar.po | 7750 ----------- rt/lib/RT/I18N/bg.po | 7758 ----------- rt/lib/RT/I18N/cs.pm | 11 +- rt/lib/RT/I18N/cs.po | 7894 ----------- rt/lib/RT/I18N/da.po | 9389 ------------- rt/lib/RT/I18N/de.po | 8613 ------------ rt/lib/RT/I18N/el.po | 7726 ----------- rt/lib/RT/I18N/en.po | 27 - rt/lib/RT/I18N/en_GB.po | 7638 ----------- rt/lib/RT/I18N/es.po | 9634 -------------- rt/lib/RT/I18N/et.po | 7762 ----------- rt/lib/RT/I18N/fi.po | 9011 ------------- rt/lib/RT/I18N/fr.po | 8194 ------------ rt/lib/RT/I18N/he.po | 8150 ------------ rt/lib/RT/I18N/hr.po | 9007 ------------- rt/lib/RT/I18N/hu.po | 8060 ------------ rt/lib/RT/I18N/i_default.pm | 6 +- rt/lib/RT/I18N/id.po | 8459 ------------ rt/lib/RT/I18N/is.po | 7694 ----------- rt/lib/RT/I18N/it.po | 9490 -------------- rt/lib/RT/I18N/ja.po | 7968 ----------- rt/lib/RT/I18N/lt.po | 9330 ------------- rt/lib/RT/I18N/lv.po | 7755 ----------- rt/lib/RT/I18N/mk.po | 8070 ------------ rt/lib/RT/I18N/nb.po | 9410 ------------- rt/lib/RT/I18N/nl.po | 9174 ------------- rt/lib/RT/I18N/nn.po | 7847 ----------- rt/lib/RT/I18N/pl.po | 9529 -------------- rt/lib/RT/I18N/pt.po | 8142 ------------ rt/lib/RT/I18N/pt_BR.po | 9546 -------------- rt/lib/RT/I18N/pt_PT.po | 7726 ----------- rt/lib/RT/I18N/rt.pot | 7689 ----------- rt/lib/RT/I18N/ru.pm | 11 +- rt/lib/RT/I18N/ru.po | 8008 ------------ rt/lib/RT/I18N/sl.po | 7715 ----------- rt/lib/RT/I18N/sv.po | 8217 ------------ rt/lib/RT/I18N/tr.po | 8171 ------------ rt/lib/RT/I18N/zh_CN.po | 12669 ------------------ rt/lib/RT/I18N/zh_TW.po | 12710 ------------------ rt/lib/RT/Installer.pm | 62 +- rt/lib/RT/Interface/CLI.pm | 48 +- rt/lib/RT/Interface/Email.pm | 211 +- rt/lib/RT/Interface/Email/Auth/GnuPG.pm | 12 +- rt/lib/RT/Interface/Email/Auth/MailFrom.pm | 13 +- rt/lib/RT/Interface/Email/Filter/SpamAssassin.pm | 97 - rt/lib/RT/Interface/REST.pm | 21 +- rt/lib/RT/Interface/Web.pm | 1183 +- rt/lib/RT/Interface/Web/Handler.pm | 230 +- rt/lib/RT/Interface/Web/Menu.pm | 259 +- rt/lib/RT/Interface/Web/Menu/Item.pm | 88 - rt/lib/RT/Interface/Web/QueryBuilder.pm | 2 +- rt/lib/RT/Interface/Web/QueryBuilder/Tree.pm | 24 +- rt/lib/RT/Interface/Web/Request.pm | 51 +- rt/lib/RT/Interface/Web/Session.pm | 2 +- rt/lib/RT/Interface/Web/Standalone.pm | 126 - rt/lib/RT/Interface/Web/Standalone/PreFork.pm | 103 - rt/lib/RT/Interface/Web_Vendor.pm | 26 +- rt/lib/RT/Lifecycle.pm | 692 + rt/lib/RT/Link.pm | 313 +- rt/lib/RT/Link_Overlay.pm | 295 - rt/lib/RT/Links.pm | 127 +- rt/lib/RT/Links_Overlay.pm | 164 - rt/lib/RT/ObjectClass.pm | 222 + rt/lib/RT/ObjectClasses.pm | 87 + rt/lib/RT/ObjectCustomField.pm | 331 +- rt/lib/RT/ObjectCustomFieldValue.pm | 587 +- rt/lib/RT/ObjectCustomFieldValue_Overlay.pm | 310 - rt/lib/RT/ObjectCustomFieldValues.pm | 129 +- rt/lib/RT/ObjectCustomFieldValues_Overlay.pm | 142 - rt/lib/RT/ObjectCustomField_Overlay.pm | 268 - rt/lib/RT/ObjectCustomFields.pm | 115 +- rt/lib/RT/ObjectCustomFields_Overlay.pm | 118 - rt/lib/RT/ObjectTopic.pm | 214 + rt/lib/RT/ObjectTopics.pm | 115 + rt/lib/RT/Plugin.pm | 4 +- rt/lib/RT/Principal.pm | 730 +- rt/lib/RT/Principal_Overlay.pm | 650 - rt/lib/RT/Principals.pm | 52 +- rt/lib/RT/Principals_Overlay.pm | 75 - rt/lib/RT/Queue.pm | 1345 +- rt/lib/RT/Queue_Overlay.pm | 1246 -- rt/lib/RT/Queues.pm | 82 +- rt/lib/RT/Queues_Overlay.pm | 117 - rt/lib/RT/Record.pm | 329 +- rt/lib/RT/Reminders.pm | 86 +- rt/lib/RT/Report/Tickets.pm | 14 +- rt/lib/RT/Report/Tickets/Entry.pm | 10 +- rt/lib/RT/Rule.pm | 15 +- rt/lib/RT/Ruleset.pm | 5 +- rt/lib/RT/SQL.pm | 18 +- rt/lib/RT/SavedSearch.pm | 45 +- rt/lib/RT/SavedSearches.pm | 95 +- rt/lib/RT/Scrip.pm | 817 +- rt/lib/RT/ScripAction.pm | 293 +- rt/lib/RT/ScripAction_Overlay.pm | 281 - rt/lib/RT/ScripActions.pm | 75 +- rt/lib/RT/ScripActions_Overlay.pm | 110 - rt/lib/RT/ScripCondition.pm | 254 +- rt/lib/RT/ScripCondition_Overlay.pm | 234 - rt/lib/RT/ScripConditions.pm | 73 +- rt/lib/RT/ScripConditions_Overlay.pm | 110 - rt/lib/RT/Scrip_Overlay.pm | 652 - rt/lib/RT/Scrips.pm | 345 +- rt/lib/RT/Scrips_Overlay.pm | 388 - rt/lib/RT/Search.pm | 74 +- rt/lib/RT/Search/ActiveTicketsInQueue.pm | 6 +- rt/lib/RT/Search/FromSQL.pm | 6 +- rt/lib/RT/Search/Generic.pm | 74 - rt/lib/RT/Search/Googleish.pm | 278 +- rt/lib/RT/SearchBuilder.pm | 199 +- rt/lib/RT/SharedSetting.pm | 73 +- rt/lib/RT/SharedSettings.pm | 155 + rt/lib/RT/Shredder.pm | 45 +- rt/lib/RT/Shredder/ACE.pm | 2 +- rt/lib/RT/Shredder/Attachment.pm | 2 +- rt/lib/RT/Shredder/CachedGroupMember.pm | 10 +- rt/lib/RT/Shredder/Constants.pm | 5 +- rt/lib/RT/Shredder/CustomField.pm | 2 +- rt/lib/RT/Shredder/CustomFieldValue.pm | 2 +- rt/lib/RT/Shredder/Dependencies.pm | 2 +- rt/lib/RT/Shredder/Dependency.pm | 2 +- rt/lib/RT/Shredder/Exceptions.pm | 2 +- rt/lib/RT/Shredder/Group.pm | 2 +- rt/lib/RT/Shredder/GroupMember.pm | 8 +- rt/lib/RT/Shredder/Link.pm | 2 +- rt/lib/RT/Shredder/ObjectCustomFieldValue.pm | 2 +- rt/lib/RT/Shredder/POD.pm | 11 +- rt/lib/RT/Shredder/Plugin.pm | 7 +- rt/lib/RT/Shredder/Plugin/Attachments.pm | 2 +- rt/lib/RT/Shredder/Plugin/Base.pm | 2 +- rt/lib/RT/Shredder/Plugin/Base/Dump.pm | 2 +- rt/lib/RT/Shredder/Plugin/Base/Search.pm | 2 +- rt/lib/RT/Shredder/Plugin/Objects.pm | 2 +- rt/lib/RT/Shredder/Plugin/SQLDump.pm | 2 +- rt/lib/RT/Shredder/Plugin/Summary.pm | 2 +- rt/lib/RT/Shredder/Plugin/Tickets.pm | 6 +- rt/lib/RT/Shredder/Plugin/Users.pm | 10 +- rt/lib/RT/Shredder/Principal.pm | 2 +- rt/lib/RT/Shredder/Queue.pm | 3 +- rt/lib/RT/Shredder/Record.pm | 4 +- rt/lib/RT/Shredder/Scrip.pm | 2 +- rt/lib/RT/Shredder/ScripAction.pm | 2 +- rt/lib/RT/Shredder/ScripCondition.pm | 2 +- rt/lib/RT/Shredder/Template.pm | 2 +- rt/lib/RT/Shredder/Ticket.pm | 2 +- rt/lib/RT/Shredder/Transaction.pm | 2 +- rt/lib/RT/Shredder/User.pm | 4 +- rt/lib/RT/Squish.pm | 122 + rt/lib/RT/Squish/CSS.pm | 105 + rt/lib/RT/Squish/JS.pm | 127 + rt/lib/RT/StyleGuide.pod | 16 + rt/lib/RT/System.pm | 106 +- rt/lib/RT/Template.pm | 801 +- rt/lib/RT/Template_Overlay.pm | 475 - rt/lib/RT/Templates.pm | 122 +- rt/lib/RT/Templates_Overlay.pm | 199 - rt/lib/RT/Test.pm | 939 +- rt/lib/RT/Test/Apache.pm | 270 + rt/lib/RT/Test/Email.pm | 7 +- rt/lib/RT/Test/GnuPG.pm | 360 + rt/lib/RT/Test/Web.pm | 203 +- rt/lib/RT/Ticket.pm | 4107 +++++- rt/lib/RT/Ticket_Overlay.pm | 3748 ------ rt/lib/RT/Tickets.pm | 3794 +++++- rt/lib/RT/Tickets_Overlay.pm | 3641 ------ rt/lib/RT/Tickets_Overlay_SQL.pm | 422 - rt/lib/RT/Tickets_SQL.pm | 423 + rt/lib/RT/Topic.pm | 376 + rt/lib/RT/Topics.pm | 119 + rt/lib/RT/Transaction.pm | 1424 +- rt/lib/RT/Transaction_Overlay.pm | 1311 -- rt/lib/RT/Transaction_Vendor.pm | 29 - rt/lib/RT/Transactions.pm | 123 +- rt/lib/RT/Transactions_Overlay.pm | 157 - rt/lib/RT/URI.pm | 41 +- rt/lib/RT/URI/a.pm | 92 + rt/lib/RT/URI/base.pm | 2 +- rt/lib/RT/URI/freeside/Internal.pm | 81 +- rt/lib/RT/URI/fsck_com_article.pm | 216 + rt/lib/RT/URI/fsck_com_rt.pm | 2 +- rt/lib/RT/URI/t.pm | 26 +- rt/lib/RT/User.pm | 1981 ++- rt/lib/RT/User_Overlay.pm | 2084 --- rt/lib/RT/Users.pm | 529 +- rt/lib/RT/Users_Overlay.pm | 561 - rt/lib/RT/Util.pm | 66 +- rt/lib/RTx/Calendar.pm | 61 +- rt/m4/rt_enable_layout.m4 | 36 - rt/m4/rt_expand_var.m4 | 18 - rt/m4/rt_layout.m4 | 77 - rt/m4/rt_subst_expanded_arg.m4 | 14 - rt/sbin/extract-message-catalog | 382 - rt/sbin/factory | 520 - rt/sbin/license_tag | 261 - rt/sbin/merge-rosetta.pl | 49 - rt/sbin/rt-attributes-viewer | 110 - rt/sbin/rt-attributes-viewer.in | 42 +- rt/sbin/rt-clean-sessions | 190 - rt/sbin/rt-clean-sessions.in | 24 +- rt/sbin/rt-dump-database | 199 - rt/sbin/rt-dump-database.in | 199 - rt/sbin/rt-dump-metadata.in | 251 + rt/sbin/rt-email-dashboards | 568 - rt/sbin/rt-email-dashboards.in | 457 +- rt/sbin/rt-email-digest | 337 - rt/sbin/rt-email-digest.in | 57 +- rt/sbin/rt-email-group-admin | 508 - rt/sbin/rt-email-group-admin.in | 55 +- rt/sbin/rt-fulltext-indexer | 453 + rt/sbin/rt-fulltext-indexer.in | 453 + rt/sbin/rt-message-catalog | 25 +- rt/sbin/rt-preferences-viewer.in | 149 + rt/sbin/rt-server | 129 - rt/sbin/rt-server.fcgi.in | 283 + rt/sbin/rt-server.in | 192 +- rt/sbin/rt-session-viewer | 0 rt/sbin/rt-setup-database.in | 280 +- rt/sbin/rt-setup-fulltext-index | 714 + rt/sbin/rt-setup-fulltext-index.in | 714 + rt/sbin/rt-shredder | 323 - rt/sbin/rt-shredder.in | 8 +- rt/sbin/rt-test-dependencies.in | 256 +- rt/sbin/rt-validator | 1119 -- rt/sbin/rt-validator.in | 185 +- rt/sbin/standalone_httpd | 283 + rt/sbin/standalone_httpd.in | 283 + rt/sbin/tweak-template-locstring | 55 - .../html/Admin/Articles/Classes/CustomFields.html | 64 + .../html/Admin/Articles/Classes/GroupRights.html | 73 + rt/share/html/Admin/Articles/Classes/Modify.html | 199 + rt/share/html/Admin/Articles/Classes/Objects.html | 154 + rt/share/html/Admin/Articles/Classes/Topics.html | 68 + .../html/Admin/Articles/Classes/UserRights.html | 72 + rt/share/html/Admin/Articles/Classes/index.html | 91 + rt/share/html/Admin/Articles/Elements/Topics | 215 + rt/share/html/Admin/Articles/index.html | 50 + rt/share/html/Admin/CustomFields/GroupRights.html | 58 +- rt/share/html/Admin/CustomFields/Modify.html | 115 +- rt/share/html/Admin/CustomFields/Objects.html | 13 +- rt/share/html/Admin/CustomFields/UserRights.html | 54 +- rt/share/html/Admin/CustomFields/index.html | 11 +- rt/share/html/Admin/Elements/AddCustomFieldValue | 10 +- rt/share/html/Admin/Elements/ConfigureMyRT | 2 +- rt/share/html/Admin/Elements/CreateUserCalled | 2 +- rt/share/html/Admin/Elements/CustomFieldTabs | 121 - rt/share/html/Admin/Elements/EditCustomField | 2 +- rt/share/html/Admin/Elements/EditCustomFieldValues | 11 +- .../Admin/Elements/EditCustomFieldValuesSource | 2 +- rt/share/html/Admin/Elements/EditCustomFields | 5 +- rt/share/html/Admin/Elements/EditQueueWatcherGroup | 56 + rt/share/html/Admin/Elements/EditQueueWatchers | 2 +- rt/share/html/Admin/Elements/EditRights | 175 + .../html/Admin/Elements/EditRightsCategoryTabs | 129 + rt/share/html/Admin/Elements/EditScrip | 29 +- rt/share/html/Admin/Elements/EditScrips | 10 +- rt/share/html/Admin/Elements/EditTemplates | 2 +- rt/share/html/Admin/Elements/EditUserComments | 2 +- rt/share/html/Admin/Elements/GlobalCustomFieldTabs | 105 - rt/share/html/Admin/Elements/GroupTabs | 102 - rt/share/html/Admin/Elements/Header | 2 +- .../html/Admin/Elements/ListGlobalCustomFields | 4 +- rt/share/html/Admin/Elements/ListGlobalScrips | 7 +- rt/share/html/Admin/Elements/ModifyTemplate | 41 +- rt/share/html/Admin/Elements/ObjectCustomFields | 111 - rt/share/html/Admin/Elements/PickCustomFields | 2 +- rt/share/html/Admin/Elements/PickObjects | 2 +- rt/share/html/Admin/Elements/Portal | 52 + rt/share/html/Admin/Elements/QueueRightsForUser | 4 +- rt/share/html/Admin/Elements/QueueTabs | 123 - rt/share/html/Admin/Elements/SelectCustomField | 2 +- .../Admin/Elements/SelectCustomFieldLookupType | 2 +- .../Admin/Elements/SelectCustomFieldRenderType | 70 + rt/share/html/Admin/Elements/SelectCustomFieldType | 4 +- rt/share/html/Admin/Elements/SelectGroups | 4 +- rt/share/html/Admin/Elements/SelectModifyGroup | 4 +- rt/share/html/Admin/Elements/SelectModifyQueue | 4 +- rt/share/html/Admin/Elements/SelectModifyUser | 6 +- rt/share/html/Admin/Elements/SelectNewGroupMembers | 79 +- rt/share/html/Admin/Elements/SelectRights | 17 +- rt/share/html/Admin/Elements/SelectScrip | 2 +- rt/share/html/Admin/Elements/SelectScripAction | 15 +- rt/share/html/Admin/Elements/SelectScripCondition | 16 +- .../html/Admin/Elements/SelectSingleOrMultiple | 2 +- rt/share/html/Admin/Elements/SelectStage | 2 +- rt/share/html/Admin/Elements/SelectTemplate | 20 +- rt/share/html/Admin/Elements/SelectUsers | 8 +- rt/share/html/Admin/Elements/ShowKeyInfo | 3 +- rt/share/html/Admin/Elements/SystemTabs | 99 - rt/share/html/Admin/Elements/Tabs | 95 - rt/share/html/Admin/Elements/ToolTabs | 82 - rt/share/html/Admin/Elements/UserTabs | 116 - .../Admin/Global/CustomFields/Class-Article.html | 54 + .../html/Admin/Global/CustomFields/Groups.html | 7 +- .../Admin/Global/CustomFields/Queue-Tickets.html | 7 +- .../Global/CustomFields/Queue-Transactions.html | 7 +- .../html/Admin/Global/CustomFields/Queues.html | 7 +- rt/share/html/Admin/Global/CustomFields/Users.html | 7 +- rt/share/html/Admin/Global/CustomFields/index.html | 9 +- rt/share/html/Admin/Global/GroupRights.html | 80 +- rt/share/html/Admin/Global/MyRT.html | 7 +- rt/share/html/Admin/Global/Scrip.html | 29 +- rt/share/html/Admin/Global/Scrips.html | 23 +- rt/share/html/Admin/Global/Template.html | 50 +- rt/share/html/Admin/Global/Templates.html | 23 +- rt/share/html/Admin/Global/Topics.html | 63 + rt/share/html/Admin/Global/UserRights.html | 54 +- rt/share/html/Admin/Global/index.html | 42 +- rt/share/html/Admin/Groups/CustomFields.html | 48 - rt/share/html/Admin/Groups/GroupRights.html | 62 +- rt/share/html/Admin/Groups/History.html | 11 +- rt/share/html/Admin/Groups/Members.html | 42 +- rt/share/html/Admin/Groups/Modify.html | 72 +- rt/share/html/Admin/Groups/UserRights.html | 56 +- rt/share/html/Admin/Groups/index.html | 53 +- rt/share/html/Admin/Queues/CustomField.html | 21 +- rt/share/html/Admin/Queues/CustomFields.html | 11 +- rt/share/html/Admin/Queues/GroupRights.html | 88 +- rt/share/html/Admin/Queues/History.html | 11 +- rt/share/html/Admin/Queues/Modify.html | 79 +- rt/share/html/Admin/Queues/People.html | 108 +- rt/share/html/Admin/Queues/Scrip.html | 28 +- rt/share/html/Admin/Queues/Scrips.html | 21 +- rt/share/html/Admin/Queues/Template.html | 98 +- rt/share/html/Admin/Queues/Templates.html | 26 +- rt/share/html/Admin/Queues/UserRights.html | 58 +- rt/share/html/Admin/Queues/index.html | 10 +- rt/share/html/Admin/Tools/Configuration.html | 68 +- rt/share/html/Admin/Tools/Queries.html | 129 + rt/share/html/Admin/Tools/Shredder/Dumps/dhandler | 7 +- .../Admin/Tools/Shredder/Elements/DumpFileLink | 2 +- .../Admin/Tools/Shredder/Elements/Error/NoRights | 8 +- .../Admin/Tools/Shredder/Elements/Error/NoStorage | 11 +- .../Tools/Shredder/Elements/Object/RT--Attachment | 7 +- .../Tools/Shredder/Elements/Object/RT--Ticket | 4 +- .../Admin/Tools/Shredder/Elements/Object/RT--User | 4 +- .../Admin/Tools/Shredder/Elements/ObjectCheckBox | 2 +- .../Admin/Tools/Shredder/Elements/PluginArguments | 4 +- .../html/Admin/Tools/Shredder/Elements/PluginHelp | 4 +- .../Admin/Tools/Shredder/Elements/SelectObjects | 2 +- .../Admin/Tools/Shredder/Elements/SelectPlugin | 4 +- rt/share/html/Admin/Tools/Shredder/autohandler | 2 +- rt/share/html/Admin/Tools/Shredder/index.html | 16 +- rt/share/html/Admin/Tools/Theme.html | 309 + rt/share/html/Admin/Tools/index.html | 13 +- rt/share/html/Admin/Users/CustomFields.html | 9 +- rt/share/html/Admin/Users/GnuPG.html | 9 +- rt/share/html/Admin/Users/History.html | 11 +- rt/share/html/Admin/Users/Memberships.html | 15 +- rt/share/html/Admin/Users/Modify.html | 74 +- rt/share/html/Admin/Users/MyRT.html | 14 +- rt/share/html/Admin/Users/index.html | 94 +- rt/share/html/Admin/autohandler | 2 +- rt/share/html/Admin/index.html | 56 +- rt/share/html/Approvals/Display.html | 7 +- rt/share/html/Approvals/Elements/Approve | 18 +- rt/share/html/Approvals/Elements/PendingMyApproval | 74 +- rt/share/html/Approvals/Elements/ShowDependency | 2 +- rt/share/html/Approvals/Elements/Tabs | 58 - rt/share/html/Approvals/autohandler | 11 +- rt/share/html/Approvals/index.html | 14 +- rt/share/html/Articles/Article/Delete.html | 106 + rt/share/html/Articles/Article/Display.html | 92 + rt/share/html/Articles/Article/Edit.html | 334 + rt/share/html/Articles/Article/Elements/EditBasics | 73 + .../Articles/Article/Elements/EditCustomFields | 83 + rt/share/html/Articles/Article/Elements/EditLinks | 113 + rt/share/html/Articles/Article/Elements/EditTopics | 144 + .../Article/Elements/LinkEntryInstructions | 49 + .../html/Articles/Article/Elements/Preformatted | 127 + .../Articles/Article/Elements/SearchByCustomField | 70 + .../Articles/Article/Elements/SelectSavedSearches | 76 + .../Articles/Article/Elements/SelectSearchPrivacy | 62 + .../html/Articles/Article/Elements/ShowHistory | 76 + rt/share/html/Articles/Article/Elements/ShowLinks | 92 + .../Articles/Article/Elements/ShowSavedSearches | 85 + .../Articles/Article/Elements/ShowSearchCriteria | 171 + rt/share/html/Articles/Article/Elements/ShowTopics | 58 + .../html/Articles/Article/ExtractFromTicket.html | 105 + .../html/Articles/Article/ExtractIntoClass.html | 76 + .../html/Articles/Article/ExtractIntoTopic.html | 72 + rt/share/html/Articles/Article/History.html | 57 + rt/share/html/Articles/Article/PreCreate.html | 62 + rt/share/html/Articles/Article/Search.html | 269 + rt/share/html/Articles/Elements/BeforeMessageBox | 239 + rt/share/html/Articles/Elements/CheckSkipCreate | 76 + rt/share/html/Articles/Elements/CreateArticle | 59 + rt/share/html/Articles/Elements/GotoArticle | 73 + rt/share/html/Articles/Elements/IncludeArticle | 99 + rt/share/html/Articles/Elements/NewestArticles | 80 + rt/share/html/Articles/Elements/QuickSearch | 59 + rt/share/html/Articles/Elements/SelectClass | 95 + rt/share/html/Articles/Elements/ShowTopic | 64 + rt/share/html/Articles/Elements/ShowTopicLink | 27 + rt/share/html/Articles/Elements/UpdatedArticles | 81 + rt/share/html/Articles/Topics.html | 203 + rt/share/html/Articles/index.html | 63 + .../Callbacks/RTx-Calendar/Elements/Header/Head | 3 + .../RTx-Calendar/Elements/Tabs/Privileged | 73 + .../RTx-Calendar/Ticket/Elements/Tabs/Default | 2 +- .../html/Dashboards/Elements/DashboardsForObject | 2 +- .../html/Dashboards/Elements/DashboardsForObjects | 81 - rt/share/html/Dashboards/Elements/Deleted | 2 +- rt/share/html/Dashboards/Elements/HiddenSearches | 2 +- rt/share/html/Dashboards/Elements/ListOfDashboards | 30 +- rt/share/html/Dashboards/Elements/SelectPrivacy | 2 +- rt/share/html/Dashboards/Elements/ShowDashboards | 85 +- .../html/Dashboards/Elements/ShowPortlet/component | 2 +- .../html/Dashboards/Elements/ShowPortlet/dashboard | 2 +- .../html/Dashboards/Elements/ShowPortlet/search | 2 +- rt/share/html/Dashboards/Elements/ShowSubscription | 75 - rt/share/html/Dashboards/Elements/Tabs | 113 - rt/share/html/Dashboards/Modify.html | 70 +- rt/share/html/Dashboards/Queries.html | 22 +- rt/share/html/Dashboards/Render.html | 43 +- rt/share/html/Dashboards/Subscription.html | 168 +- rt/share/html/Dashboards/dhandler | 2 +- rt/share/html/Dashboards/index.html | 64 +- rt/share/html/Download/CustomFieldValue/dhandler | 2 +- rt/share/html/Download/Tabular/dhandler | 76 - rt/share/html/Elements/AddCustomers | 2 +- rt/share/html/Elements/BevelBoxRaisedEnd | 2 +- rt/share/html/Elements/BevelBoxRaisedStart | 2 +- rt/share/html/Elements/CSRF | 74 + rt/share/html/Elements/CalendarEvent | 8 +- rt/share/html/Elements/Callback | 2 +- rt/share/html/Elements/Checkbox | 2 +- rt/share/html/Elements/CollectionAsTable/Header | 8 +- .../html/Elements/CollectionAsTable/ParseFormat | 3 +- rt/share/html/Elements/CollectionAsTable/Row | 7 +- rt/share/html/Elements/CollectionList | 20 +- rt/share/html/Elements/CollectionListPaging | 14 +- rt/share/html/Elements/ColumnMap | 24 +- rt/share/html/Elements/CreateTicket | 12 +- rt/share/html/Elements/CustomerFields | 16 +- rt/share/html/Elements/DashboardTabs | 99 - rt/share/html/Elements/Dashboards | 19 +- rt/share/html/Elements/EditCustomField | 6 +- rt/share/html/Elements/EditCustomFieldAutocomplete | 47 +- rt/share/html/Elements/EditCustomFieldBinary | 2 +- rt/share/html/Elements/EditCustomFieldCombobox | 2 +- rt/share/html/Elements/EditCustomFieldDate | 38 +- rt/share/html/Elements/EditCustomFieldDateTime | 62 + rt/share/html/Elements/EditCustomFieldFreeform | 2 +- rt/share/html/Elements/EditCustomFieldIPAddress | 50 + .../html/Elements/EditCustomFieldIPAddressRange | 50 + rt/share/html/Elements/EditCustomFieldImage | 2 +- rt/share/html/Elements/EditCustomFieldSelect | 53 +- rt/share/html/Elements/EditCustomFieldText | 2 +- rt/share/html/Elements/EditCustomFieldWikitext | 2 +- rt/share/html/Elements/EditLinks | 3 +- rt/share/html/Elements/EditPassword | 2 +- rt/share/html/Elements/EditTimeValue | 6 +- rt/share/html/Elements/EmailInput | 4 +- rt/share/html/Elements/Error | 6 +- rt/share/html/Elements/Footer | 4 +- rt/share/html/Elements/Framekiller | 67 + rt/share/html/Elements/GnuPG/KeyIssues | 2 +- .../html/Elements/GnuPG/SelectKeyForEncryption | 2 +- rt/share/html/Elements/GnuPG/SelectKeyForSigning | 2 +- rt/share/html/Elements/GnuPG/SignEncryptWidget | 33 +- rt/share/html/Elements/GotoTicket | 2 +- rt/share/html/Elements/Header | 56 +- rt/share/html/Elements/HeaderJavascript | 90 +- rt/share/html/Elements/ListActions | 4 +- rt/share/html/Elements/ListMenu | 46 +- rt/share/html/Elements/Login | 17 +- rt/share/html/Elements/Logo | 30 +- rt/share/html/Elements/Logout | 62 - rt/share/html/Elements/MakeClicky | 14 +- rt/share/html/Elements/Menu | 123 +- rt/share/html/Elements/MessageBox | 21 +- rt/share/html/Elements/MyAdminQueues | 8 +- rt/share/html/Elements/MyRT | 4 +- rt/share/html/Elements/MyReminders | 34 +- rt/share/html/Elements/MyRequests | 2 +- rt/share/html/Elements/MySupportQueues | 12 +- rt/share/html/Elements/MyTickets | 2 +- rt/share/html/Elements/PageLayout | 203 +- rt/share/html/Elements/PersonalQuickbar | 12 +- rt/share/html/Elements/QueriesAsComment | 58 + rt/share/html/Elements/QueryString | 2 +- rt/share/html/Elements/QueueSummary | 108 - rt/share/html/Elements/QueueSummaryByLifecycle | 145 + rt/share/html/Elements/QueueSummaryByStatus | 143 + rt/share/html/Elements/QuickCreate | 10 +- rt/share/html/Elements/Quicksearch | 24 +- rt/share/html/Elements/RT__Article/ColumnMap | 107 + rt/share/html/Elements/RT__Class/ColumnMap | 76 + rt/share/html/Elements/RT__CustomField/ColumnMap | 14 +- rt/share/html/Elements/RT__Dashboard/ColumnMap | 134 + rt/share/html/Elements/RT__Group/ColumnMap | 2 +- rt/share/html/Elements/RT__Queue/ColumnMap | 7 +- rt/share/html/Elements/RT__SavedSearch/ColumnMap | 6 +- rt/share/html/Elements/RT__Scrip/ColumnMap | 2 +- rt/share/html/Elements/RT__Template/ColumnMap | 2 +- rt/share/html/Elements/RT__Ticket/ColumnMap | 7 +- rt/share/html/Elements/RT__User/ColumnMap | 90 +- rt/share/html/Elements/Refresh | 2 +- rt/share/html/Elements/RefreshHomepage | 2 +- rt/share/html/Elements/SavedSearches | 116 +- rt/share/html/Elements/ScrubHTML | 28 +- rt/share/html/Elements/Section | 2 +- rt/share/html/Elements/SelectAttachmentField | 4 +- rt/share/html/Elements/SelectBoolean | 2 +- rt/share/html/Elements/SelectCustomFieldOperator | 2 +- rt/share/html/Elements/SelectCustomFieldValue | 2 +- rt/share/html/Elements/SelectDate | 6 +- rt/share/html/Elements/SelectDateRelation | 2 +- rt/share/html/Elements/SelectDateType | 2 +- rt/share/html/Elements/SelectEqualityOperator | 2 +- rt/share/html/Elements/SelectGroups | 2 +- rt/share/html/Elements/SelectIPRelation | 64 + rt/share/html/Elements/SelectLang | 2 +- rt/share/html/Elements/SelectLinkType | 2 +- rt/share/html/Elements/SelectMatch | 2 +- rt/share/html/Elements/SelectNewTicketQueue | 9 +- rt/share/html/Elements/SelectOwner | 84 +- rt/share/html/Elements/SelectOwnerAutocomplete | 102 + rt/share/html/Elements/SelectOwnerDropdown | 99 + rt/share/html/Elements/SelectPriority | 2 +- rt/share/html/Elements/SelectQueue | 36 +- rt/share/html/Elements/SelectResultsPerPage | 2 +- rt/share/html/Elements/SelectSortOrder | 2 +- rt/share/html/Elements/SelectStatus | 67 +- rt/share/html/Elements/SelectTicketSortBy | 4 +- rt/share/html/Elements/SelectTicketTypes | 2 +- rt/share/html/Elements/SelectTimeUnits | 4 +- rt/share/html/Elements/SelectTimezone | 25 +- rt/share/html/Elements/SelectUsers | 17 +- rt/share/html/Elements/SelectWatcherType | 6 +- rt/share/html/Elements/ServiceFields | 161 + rt/share/html/Elements/SetupSessionCookie | 2 +- rt/share/html/Elements/ShowCustomFieldBinary | 4 +- rt/share/html/Elements/ShowCustomFieldDate | 36 +- rt/share/html/Elements/ShowCustomFieldDateTime | 57 + rt/share/html/Elements/ShowCustomFieldImage | 4 +- rt/share/html/Elements/ShowCustomFieldText | 2 +- rt/share/html/Elements/ShowCustomFieldWikitext | 2 +- rt/share/html/Elements/ShowCustomFields | 19 +- rt/share/html/Elements/ShowLink | 19 +- rt/share/html/Elements/ShowLinks | 53 +- rt/share/html/Elements/ShowMemberships | 6 +- rt/share/html/Elements/ShowRelationLabel | 2 +- rt/share/html/Elements/ShowReminders | 101 + rt/share/html/Elements/ShowSearch | 21 +- rt/share/html/Elements/ShowUser | 9 +- rt/share/html/Elements/ShowUserConcise | 7 +- rt/share/html/Elements/ShowUserEmailFrequency | 2 +- rt/share/html/Elements/ShowUserVerbose | 28 +- rt/share/html/Elements/SimpleSearch | 2 +- rt/share/html/Elements/Submit | 40 +- rt/share/html/Elements/Tabs | 909 +- rt/share/html/Elements/TicketList | 2 +- rt/share/html/Elements/TitleBox | 2 +- rt/share/html/Elements/TitleBoxEnd | 2 +- rt/share/html/Elements/TitleBoxStart | 2 +- rt/share/html/Elements/ValidateCustomFields | 29 +- rt/share/html/Elements/WidgetBar | 58 + .../html/Helpers/Autocomplete/CustomFieldValues | 87 +- rt/share/html/Helpers/Autocomplete/Groups | 88 + rt/share/html/Helpers/Autocomplete/Owners | 150 + rt/share/html/Helpers/Autocomplete/Users | 133 + rt/share/html/Helpers/CalPopup.html | 143 - rt/share/html/Helpers/TicketHistory | 67 + rt/share/html/Helpers/Toggle/ShowRequestor | 65 + rt/share/html/Helpers/Toggle/TicketBookmark | 2 +- rt/share/html/Install/Basics.html | 11 +- rt/share/html/Install/DatabaseDetails.html | 2 +- rt/share/html/Install/DatabaseType.html | 4 +- rt/share/html/Install/Elements/Errors | 2 +- rt/share/html/Install/Elements/Wrapper | 9 +- rt/share/html/Install/Finish.html | 11 +- rt/share/html/Install/Global.html | 5 +- rt/share/html/Install/Initialize.html | 13 +- rt/share/html/Install/Sendmail.html | 2 +- rt/share/html/Install/autohandler | 2 +- rt/share/html/Install/index.html | 15 +- rt/share/html/NoAuth/Calendar/dhandler | 6 +- rt/share/html/NoAuth/Helpers/CustomLogo/dhandler | 61 + rt/share/html/NoAuth/Login.html | 2 +- rt/share/html/NoAuth/Logout.html | 4 +- rt/share/html/NoAuth/Reminder.html | 2 +- .../editor/_source/classes/fckcontextmenu.js | 223 - .../editor/_source/classes/fckdataprocessor.js | 119 - .../_source/classes/fckdocumentfragment_gecko.js | 53 - .../_source/classes/fckdocumentfragment_ie.js | 58 - .../editor/_source/classes/fckdomrange.js | 935 -- .../editor/_source/classes/fckdomrange_gecko.js | 104 - .../editor/_source/classes/fckdomrange_ie.js | 199 - .../editor/_source/classes/fckdomrangeiterator.js | 327 - .../editor/_source/classes/fckeditingarea.js | 368 - .../editor/_source/classes/fckelementpath.js | 89 - .../editor/_source/classes/fckenterkey.js | 708 - .../FCKeditor/editor/_source/classes/fckevents.js | 71 - .../editor/_source/classes/fckhtmliterator.js | 142 - .../FCKeditor/editor/_source/classes/fckicon.js | 103 - .../editor/_source/classes/fckiecleanup.js | 68 - .../editor/_source/classes/fckimagepreloader.js | 64 - .../editor/_source/classes/fckkeystrokehandler.js | 141 - .../editor/_source/classes/fckmenublock.js | 153 - .../editor/_source/classes/fckmenublockpanel.js | 54 - .../editor/_source/classes/fckmenuitem.js | 161 - .../FCKeditor/editor/_source/classes/fckpanel.js | 463 - .../FCKeditor/editor/_source/classes/fckplugin.js | 56 - .../editor/_source/classes/fckspecialcombo.js | 376 - .../FCKeditor/editor/_source/classes/fckstyle.js | 1500 --- .../FCKeditor/editor/_source/classes/fcktoolbar.js | 103 - .../_source/classes/fcktoolbarbreak_gecko.js | 36 - .../editor/_source/classes/fcktoolbarbreak_ie.js | 38 - .../editor/_source/classes/fcktoolbarbutton.js | 81 - .../editor/_source/classes/fcktoolbarbuttonui.js | 198 - .../_source/classes/fcktoolbarfontformatcombo.js | 139 - .../editor/_source/classes/fcktoolbarfontscombo.js | 98 - .../_source/classes/fcktoolbarfontsizecombo.js | 76 - .../_source/classes/fcktoolbarpanelbutton.js | 103 - .../_source/classes/fcktoolbarspecialcombo.js | 146 - .../editor/_source/classes/fcktoolbarstylecombo.js | 200 - .../editor/_source/classes/fckw3crange.js | 451 - .../FCKeditor/editor/_source/classes/fckxml.js | 108 - .../editor/_source/classes/fckxml_gecko.js | 106 - .../FCKeditor/editor/_source/classes/fckxml_ie.js | 93 - .../_source/commandclasses/fck_othercommands.js | 634 - .../_source/commandclasses/fckblockquotecommand.js | 281 - .../_source/commandclasses/fckcorestylecommand.js | 61 - .../editor/_source/commandclasses/fckfitwindow.js | 213 - .../_source/commandclasses/fckindentcommands.js | 282 - .../_source/commandclasses/fckjustifycommands.js | 173 - .../_source/commandclasses/fcklistcommands.js | 382 - .../_source/commandclasses/fcknamedcommand.js | 39 - .../commandclasses/fckpasteplaintextcommand.js | 40 - .../_source/commandclasses/fckpastewordcommand.js | 40 - .../commandclasses/fckremoveformatcommand.js | 45 - .../editor/_source/commandclasses/fckshowblocks.js | 94 - .../commandclasses/fckspellcheckcommand_gecko.js | 49 - .../commandclasses/fckspellcheckcommand_ie.js | 72 - .../_source/commandclasses/fckstylecommand.js | 60 - .../_source/commandclasses/fcktablecommand.js | 106 - .../_source/commandclasses/fcktextcolorcommand.js | 201 - .../FCKeditor/editor/_source/fckconstants.js | 56 - .../FCKeditor/editor/_source/fckeditorapi.js | 179 - .../editor/_source/fckjscoreextensions.js | 159 - .../FCKeditor/editor/_source/fckscriptloader.js | 122 - .../FCKeditor/editor/_source/internals/fck.js | 1256 -- .../editor/_source/internals/fck_contextmenu.js | 345 - .../editor/_source/internals/fck_gecko.js | 497 - .../FCKeditor/editor/_source/internals/fck_ie.js | 456 - .../editor/_source/internals/fckbrowserinfo.js | 61 - .../editor/_source/internals/fckcodeformatter.js | 100 - .../editor/_source/internals/fckcommands.js | 172 - .../editor/_source/internals/fckconfig.js | 237 - .../FCKeditor/editor/_source/internals/fckdebug.js | 59 - .../editor/_source/internals/fckdebug_empty.js | 31 - .../editor/_source/internals/fckdialog.js | 239 - .../_source/internals/fckdocumentprocessor.js | 270 - .../editor/_source/internals/fckdomtools.js | 1057 -- .../editor/_source/internals/fcklanguagemanager.js | 165 - .../editor/_source/internals/fcklisthandler.js | 152 - .../editor/_source/internals/fcklistslib.js | 63 - .../editor/_source/internals/fckplugins.js | 46 - .../editor/_source/internals/fckregexlib.js | 100 - .../editor/_source/internals/fckselection.js | 42 - .../editor/_source/internals/fckselection_gecko.js | 228 - .../editor/_source/internals/fckselection_ie.js | 287 - .../editor/_source/internals/fckstyles.js | 381 - .../editor/_source/internals/fcktablehandler.js | 863 -- .../_source/internals/fcktablehandler_gecko.js | 56 - .../editor/_source/internals/fcktablehandler_ie.js | 64 - .../editor/_source/internals/fcktoolbaritems.js | 124 - .../editor/_source/internals/fcktoolbarset.js | 399 - .../FCKeditor/editor/_source/internals/fcktools.js | 749 -- .../editor/_source/internals/fcktools_gecko.js | 282 - .../editor/_source/internals/fcktools_ie.js | 234 - .../FCKeditor/editor/_source/internals/fckundo.js | 223 - .../editor/_source/internals/fckurlparams.js | 39 - .../FCKeditor/editor/_source/internals/fckxhtml.js | 534 - .../editor/_source/internals/fckxhtml_gecko.js | 114 - .../editor/_source/internals/fckxhtml_ie.js | 213 - .../editor/_source/internals/fckxhtmlentities.js | 357 - .../editor/css/behaviors/disablehandles.htc | 15 - .../editor/css/behaviors/showtableborders.htc | 36 - .../FCKeditor/editor/css/fck_editorarea.css | 110 - .../RichText/FCKeditor/editor/css/fck_internal.css | 199 - .../editor/css/fck_showtableborders_gecko.css | 49 - .../FCKeditor/editor/css/images/block_address.png | Bin 288 -> 0 bytes .../editor/css/images/block_blockquote.png | Bin 293 -> 0 bytes .../FCKeditor/editor/css/images/block_div.png | Bin 229 -> 0 bytes .../FCKeditor/editor/css/images/block_h1.png | Bin 218 -> 0 bytes .../FCKeditor/editor/css/images/block_h2.png | Bin 220 -> 0 bytes .../FCKeditor/editor/css/images/block_h3.png | Bin 219 -> 0 bytes .../FCKeditor/editor/css/images/block_h4.png | Bin 229 -> 0 bytes .../FCKeditor/editor/css/images/block_h5.png | Bin 236 -> 0 bytes .../FCKeditor/editor/css/images/block_h6.png | Bin 216 -> 0 bytes .../FCKeditor/editor/css/images/block_p.png | Bin 205 -> 0 bytes .../FCKeditor/editor/css/images/block_pre.png | Bin 223 -> 0 bytes .../FCKeditor/editor/css/images/fck_anchor.gif | Bin 184 -> 0 bytes .../FCKeditor/editor/css/images/fck_flashlogo.gif | Bin 599 -> 0 bytes .../editor/css/images/fck_hiddenfield.gif | Bin 105 -> 0 bytes .../FCKeditor/editor/css/images/fck_pagebreak.gif | Bin 54 -> 0 bytes .../FCKeditor/editor/css/images/fck_plugin.gif | Bin 1709 -> 0 bytes .../editor/dialog/common/fck_dialog_common.css | 85 - .../editor/dialog/common/fck_dialog_common.js | 347 - .../editor/dialog/common/images/locked.gif | Bin 74 -> 0 bytes .../editor/dialog/common/images/reset.gif | Bin 104 -> 0 bytes .../editor/dialog/common/images/unlocked.gif | Bin 75 -> 0 bytes .../FCKeditor/editor/dialog/fck_about.html | 161 - .../editor/dialog/fck_about/logo_fckeditor.gif | Bin 2044 -> 0 bytes .../editor/dialog/fck_about/logo_fredck.gif | Bin 920 -> 0 bytes .../dialog/fck_about/sponsors/spellchecker_net.gif | Bin 1447 -> 0 bytes .../FCKeditor/editor/dialog/fck_anchor.html | 220 - .../FCKeditor/editor/dialog/fck_button.html | 104 - .../FCKeditor/editor/dialog/fck_checkbox.html | 104 - .../FCKeditor/editor/dialog/fck_colorselector.html | 172 - .../RichText/FCKeditor/editor/dialog/fck_div.html | 396 - .../FCKeditor/editor/dialog/fck_docprops.html | 600 - .../dialog/fck_docprops/fck_document_preview.html | 113 - .../FCKeditor/editor/dialog/fck_flash.html | 152 - .../FCKeditor/editor/dialog/fck_flash/fck_flash.js | 300 - .../editor/dialog/fck_flash/fck_flash_preview.html | 50 - .../RichText/FCKeditor/editor/dialog/fck_form.html | 109 - .../FCKeditor/editor/dialog/fck_hiddenfield.html | 115 - .../FCKeditor/editor/dialog/fck_image.html | 258 - .../FCKeditor/editor/dialog/fck_image/fck_image.js | 512 - .../editor/dialog/fck_image/fck_image_preview.html | 72 - .../RichText/FCKeditor/editor/dialog/fck_link.html | 295 - .../FCKeditor/editor/dialog/fck_link/fck_link.js | 893 -- .../FCKeditor/editor/dialog/fck_listprop.html | 120 - .../FCKeditor/editor/dialog/fck_paste.html | 347 - .../FCKeditor/editor/dialog/fck_radiobutton.html | 104 - .../FCKeditor/editor/dialog/fck_replace.html | 650 - .../FCKeditor/editor/dialog/fck_select.html | 180 - .../editor/dialog/fck_select/fck_select.js | 194 - .../FCKeditor/editor/dialog/fck_smiley.html | 111 - .../FCKeditor/editor/dialog/fck_source.html | 68 - .../FCKeditor/editor/dialog/fck_specialchar.html | 121 - .../FCKeditor/editor/dialog/fck_spellerpages.html | 70 - .../fck_spellerpages/spellerpages/blank.html | 0 .../fck_spellerpages/spellerpages/controlWindow.js | 87 - .../fck_spellerpages/spellerpages/controls.html | 153 - .../spellerpages/server-scripts/spellchecker.cfm | 148 - .../spellerpages/server-scripts/spellchecker.php | 199 - .../spellerpages/server-scripts/spellchecker.pl | 181 - .../fck_spellerpages/spellerpages/spellChecker.js | 461 - .../spellerpages/spellchecker.html | 71 - .../fck_spellerpages/spellerpages/spellerStyle.css | 49 - .../fck_spellerpages/spellerpages/wordWindow.js | 272 - .../FCKeditor/editor/dialog/fck_table.html | 439 - .../FCKeditor/editor/dialog/fck_tablecell.html | 293 - .../FCKeditor/editor/dialog/fck_template.html | 242 - .../dialog/fck_template/images/template1.gif | Bin 375 -> 0 bytes .../dialog/fck_template/images/template2.gif | Bin 333 -> 0 bytes .../dialog/fck_template/images/template3.gif | Bin 422 -> 0 bytes .../FCKeditor/editor/dialog/fck_textarea.html | 94 - .../FCKeditor/editor/dialog/fck_textfield.html | 136 - .../FCKeditor/editor/dtd/fck_dtd_test.html | 41 - .../FCKeditor/editor/dtd/fck_xhtml10strict.js | 116 - .../editor/dtd/fck_xhtml10transitional.js | 140 - .../NoAuth/RichText/FCKeditor/editor/fckdebug.html | 153 - .../RichText/FCKeditor/editor/fckdialog.html | 819 -- .../RichText/FCKeditor/editor/fckeditor.html | 317 - .../FCKeditor/editor/fckeditor.original.html | 424 - .../RichText/FCKeditor/editor/images/anchor.gif | Bin 184 -> 0 bytes .../RichText/FCKeditor/editor/images/arrow_ltr.gif | Bin 49 -> 0 bytes .../RichText/FCKeditor/editor/images/arrow_rtl.gif | Bin 49 -> 0 bytes .../editor/images/smiley/msn/angel_smile.gif | Bin 445 -> 0 bytes .../editor/images/smiley/msn/angry_smile.gif | Bin 453 -> 0 bytes .../editor/images/smiley/msn/broken_heart.gif | Bin 423 -> 0 bytes .../FCKeditor/editor/images/smiley/msn/cake.gif | Bin 453 -> 0 bytes .../editor/images/smiley/msn/confused_smile.gif | Bin 322 -> 0 bytes .../editor/images/smiley/msn/cry_smile.gif | Bin 473 -> 0 bytes .../editor/images/smiley/msn/devil_smile.gif | Bin 444 -> 0 bytes .../editor/images/smiley/msn/embaressed_smile.gif | Bin 1077 -> 0 bytes .../editor/images/smiley/msn/envelope.gif | Bin 1030 -> 0 bytes .../FCKeditor/editor/images/smiley/msn/heart.gif | Bin 1012 -> 0 bytes .../FCKeditor/editor/images/smiley/msn/kiss.gif | Bin 978 -> 0 bytes .../editor/images/smiley/msn/lightbulb.gif | Bin 303 -> 0 bytes .../editor/images/smiley/msn/omg_smile.gif | Bin 342 -> 0 bytes .../editor/images/smiley/msn/regular_smile.gif | Bin 1036 -> 0 bytes .../editor/images/smiley/msn/sad_smile.gif | Bin 1039 -> 0 bytes .../editor/images/smiley/msn/shades_smile.gif | Bin 1059 -> 0 bytes .../editor/images/smiley/msn/teeth_smile.gif | Bin 1064 -> 0 bytes .../editor/images/smiley/msn/thumbs_down.gif | Bin 992 -> 0 bytes .../editor/images/smiley/msn/thumbs_up.gif | Bin 989 -> 0 bytes .../editor/images/smiley/msn/tounge_smile.gif | Bin 1055 -> 0 bytes .../smiley/msn/whatchutalkingabout_smile.gif | Bin 1034 -> 0 bytes .../editor/images/smiley/msn/wink_smile.gif | Bin 1041 -> 0 bytes .../RichText/FCKeditor/editor/images/spacer.gif | Bin 43 -> 0 bytes .../RichText/FCKeditor/editor/js/fckadobeair.js | 176 - .../FCKeditor/editor/js/fckeditorcode_gecko.js | 108 - .../FCKeditor/editor/js/fckeditorcode_ie.js | 109 - .../FCKeditor/editor/lang/_translationstatus.txt | 79 - .../NoAuth/RichText/FCKeditor/editor/lang/af.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/ar.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/bg.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/bn.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/bs.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/ca.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/cs.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/da.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/de.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/el.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/en-au.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/en-ca.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/en-uk.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/en.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/eo.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/es.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/et.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/eu.js | 535 - .../NoAuth/RichText/FCKeditor/editor/lang/fa.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/fi.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/fo.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/fr-ca.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/fr.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/gl.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/gu.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/he.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/hi.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/hr.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/hu.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/is.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/it.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/ja.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/km.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/ko.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/lt.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/lv.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/mn.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/ms.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/nb.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/nl.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/no.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/pl.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/pt-br.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/pt.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/ro.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/ru.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/sk.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/sl.js | 534 - .../RichText/FCKeditor/editor/lang/sr-latn.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/sr.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/sv.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/th.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/tr.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/uk.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/vi.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/zh-cn.js | 534 - .../NoAuth/RichText/FCKeditor/editor/lang/zh.js | 534 - .../FCKeditor/editor/plugins/autogrow/fckplugin.js | 111 - .../editor/plugins/bbcode/_sample/sample.config.js | 26 - .../editor/plugins/bbcode/_sample/sample.html | 67 - .../FCKeditor/editor/plugins/bbcode/fckplugin.js | 123 - .../editor/plugins/dragresizetable/fckplugin.js | 529 - .../plugins/placeholder/fck_placeholder.html | 105 - .../editor/plugins/placeholder/fckplugin.js | 187 - .../editor/plugins/placeholder/lang/de.js | 27 - .../editor/plugins/placeholder/lang/en.js | 27 - .../editor/plugins/placeholder/lang/es.js | 27 - .../editor/plugins/placeholder/lang/fr.js | 27 - .../editor/plugins/placeholder/lang/it.js | 27 - .../editor/plugins/placeholder/lang/pl.js | 27 - .../editor/plugins/placeholder/placeholder.gif | Bin 96 -> 0 bytes .../editor/plugins/simplecommands/fckplugin.js | 29 - .../editor/plugins/tablecommands/fckplugin.js | 33 - .../FCKeditor/editor/skins/_fckviewstrips.html | 121 - .../FCKeditor/editor/skins/default/fck_dialog.css | 402 - .../editor/skins/default/fck_dialog_ie6.js | 110 - .../FCKeditor/editor/skins/default/fck_editor.css | 464 - .../FCKeditor/editor/skins/default/fck_strip.gif | Bin 5175 -> 0 bytes .../editor/skins/default/images/dialog.sides.gif | Bin 48 -> 0 bytes .../editor/skins/default/images/dialog.sides.png | Bin 178 -> 0 bytes .../skins/default/images/dialog.sides.rtl.png | Bin 181 -> 0 bytes .../editor/skins/default/images/sprites.gif | Bin 959 -> 0 bytes .../editor/skins/default/images/sprites.png | Bin 3250 -> 0 bytes .../skins/default/images/toolbar.arrowright.gif | Bin 53 -> 0 bytes .../skins/default/images/toolbar.buttonarrow.gif | Bin 46 -> 0 bytes .../skins/default/images/toolbar.collapse.gif | Bin 152 -> 0 bytes .../editor/skins/default/images/toolbar.end.gif | Bin 43 -> 0 bytes .../editor/skins/default/images/toolbar.expand.gif | Bin 152 -> 0 bytes .../skins/default/images/toolbar.separator.gif | Bin 58 -> 0 bytes .../editor/skins/default/images/toolbar.start.gif | Bin 105 -> 0 bytes .../editor/skins/office2003/fck_dialog.css | 402 - .../editor/skins/office2003/fck_dialog_ie6.js | 110 - .../editor/skins/office2003/fck_editor.css | 476 - .../editor/skins/office2003/fck_strip.gif | Bin 9668 -> 0 bytes .../skins/office2003/images/dialog.sides.gif | Bin 48 -> 0 bytes .../skins/office2003/images/dialog.sides.png | Bin 203 -> 0 bytes .../skins/office2003/images/dialog.sides.rtl.png | Bin 205 -> 0 bytes .../editor/skins/office2003/images/sprites.gif | Bin 959 -> 0 bytes .../editor/skins/office2003/images/sprites.png | Bin 3305 -> 0 bytes .../skins/office2003/images/toolbar.arrowright.gif | Bin 53 -> 0 bytes .../editor/skins/office2003/images/toolbar.bg.gif | Bin 73 -> 0 bytes .../office2003/images/toolbar.buttonarrow.gif | Bin 46 -> 0 bytes .../skins/office2003/images/toolbar.collapse.gif | Bin 152 -> 0 bytes .../editor/skins/office2003/images/toolbar.end.gif | Bin 124 -> 0 bytes .../skins/office2003/images/toolbar.expand.gif | Bin 152 -> 0 bytes .../skins/office2003/images/toolbar.separator.gif | Bin 67 -> 0 bytes .../skins/office2003/images/toolbar.start.gif | Bin 99 -> 0 bytes .../FCKeditor/editor/skins/silver/fck_dialog.css | 402 - .../editor/skins/silver/fck_dialog_ie6.js | 110 - .../FCKeditor/editor/skins/silver/fck_editor.css | 473 - .../FCKeditor/editor/skins/silver/fck_strip.gif | Bin 5175 -> 0 bytes .../editor/skins/silver/images/dialog.sides.gif | Bin 48 -> 0 bytes .../editor/skins/silver/images/dialog.sides.png | Bin 198 -> 0 bytes .../skins/silver/images/dialog.sides.rtl.png | Bin 200 -> 0 bytes .../editor/skins/silver/images/sprites.gif | Bin 959 -> 0 bytes .../editor/skins/silver/images/sprites.png | Bin 3278 -> 0 bytes .../skins/silver/images/toolbar.arrowright.gif | Bin 53 -> 0 bytes .../skins/silver/images/toolbar.buttonarrow.gif | Bin 46 -> 0 bytes .../skins/silver/images/toolbar.buttonbg.gif | Bin 829 -> 0 bytes .../skins/silver/images/toolbar.collapse.gif | Bin 152 -> 0 bytes .../editor/skins/silver/images/toolbar.end.gif | Bin 43 -> 0 bytes .../editor/skins/silver/images/toolbar.expand.gif | Bin 152 -> 0 bytes .../skins/silver/images/toolbar.separator.gif | Bin 58 -> 0 bytes .../editor/skins/silver/images/toolbar.start.gif | Bin 105 -> 0 bytes .../RichText/FCKeditor/editor/wsc/ciframe.html | 65 - .../RichText/FCKeditor/editor/wsc/tmpFrameset.html | 67 - .../NoAuth/RichText/FCKeditor/editor/wsc/w.html | 227 - .../html/NoAuth/RichText/FCKeditor/fckconfig.js | 327 - .../html/NoAuth/RichText/FCKeditor/fckeditor.js | 330 - .../html/NoAuth/RichText/FCKeditor/fckpackager.xml | 262 - .../html/NoAuth/RichText/FCKeditor/fckstyles.xml | 111 - .../NoAuth/RichText/FCKeditor/fcktemplates.xml | 103 - .../html/NoAuth/RichText/FCKeditor/license.txt | 1246 -- rt/share/html/NoAuth/RichText/autohandler | 4 +- .../html/NoAuth/RichText/ckeditor/LICENSE.html | 1334 ++ .../NoAuth/RichText/ckeditor/adapters/jquery.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/ckeditor.js | 135 + rt/share/html/NoAuth/RichText/ckeditor/config.js | 47 + .../html/NoAuth/RichText/ckeditor/contents.css | 35 + .../NoAuth/RichText/ckeditor/images/spacer.gif | Bin 0 -> 43 bytes .../NoAuth/RichText/ckeditor/lang/_languages.js | 6 + .../RichText/ckeditor/lang/_translationstatus.txt | 60 + rt/share/html/NoAuth/RichText/ckeditor/lang/af.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/ar.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/bg.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/bn.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/bs.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/ca.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/cs.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/cy.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/da.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/de.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/el.js | 6 + .../html/NoAuth/RichText/ckeditor/lang/en-au.js | 6 + .../html/NoAuth/RichText/ckeditor/lang/en-ca.js | 6 + .../html/NoAuth/RichText/ckeditor/lang/en-gb.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/en.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/eo.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/es.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/et.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/eu.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/fa.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/fi.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/fo.js | 6 + .../html/NoAuth/RichText/ckeditor/lang/fr-ca.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/fr.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/gl.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/gu.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/he.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/hi.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/hr.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/hu.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/is.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/it.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/ja.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/km.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/ko.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/lt.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/lv.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/mn.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/ms.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/nb.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/nl.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/no.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/pl.js | 6 + .../html/NoAuth/RichText/ckeditor/lang/pt-br.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/pt.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/ro.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/ru.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/sk.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/sl.js | 6 + .../html/NoAuth/RichText/ckeditor/lang/sr-latn.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/sr.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/sv.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/th.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/tr.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/uk.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/vi.js | 6 + .../html/NoAuth/RichText/ckeditor/lang/zh-cn.js | 6 + rt/share/html/NoAuth/RichText/ckeditor/lang/zh.js | 6 + .../ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js | 7 + .../RichText/ckeditor/plugins/a11yhelp/lang/en.js | 6 + .../RichText/ckeditor/plugins/a11yhelp/lang/he.js | 6 + .../ckeditor/plugins/about/dialogs/about.js | 6 + .../RichText/ckeditor/plugins/autogrow/plugin.js | 6 + .../ckeditor/plugins/clipboard/dialogs/paste.js | 7 + .../plugins/colordialog/dialogs/colordialog.js | 7 + .../ckeditor/plugins/dialog/dialogDefinition.js | 4 + .../RichText/ckeditor/plugins/div/dialogs/div.js | 8 + .../RichText/ckeditor/plugins/find/dialogs/find.js | 9 + .../ckeditor/plugins/flash/dialogs/flash.js | 9 + .../ckeditor/plugins/forms/dialogs/button.js | 6 + .../ckeditor/plugins/forms/dialogs/checkbox.js | 6 + .../ckeditor/plugins/forms/dialogs/form.js | 6 + .../ckeditor/plugins/forms/dialogs/hiddenfield.js | 6 + .../ckeditor/plugins/forms/dialogs/radio.js | 6 + .../ckeditor/plugins/forms/dialogs/select.js | 9 + .../ckeditor/plugins/forms/dialogs/textarea.js | 6 + .../ckeditor/plugins/forms/dialogs/textfield.js | 7 + .../ckeditor/plugins/iframedialog/plugin.js | 6 + .../ckeditor/plugins/image/dialogs/image.js | 13 + .../ckeditor/plugins/link/dialogs/anchor.js | 6 + .../RichText/ckeditor/plugins/link/dialogs/link.js | 11 + .../plugins/liststyle/dialogs/liststyle.js | 7 + .../plugins/pastefromword/filter/default.js | 10 + .../plugins/pastetext/dialogs/pastetext.js | 6 + .../ckeditor/plugins/scayt/dialogs/options.js | 8 + .../ckeditor/plugins/scayt/dialogs/toolbar.css | 6 + .../ckeditor/plugins/smiley/dialogs/smiley.js | 7 + .../plugins/specialchar/dialogs/specialchar.js | 7 + .../ckeditor/plugins/styles/styles/default.js | 6 + .../ckeditor/plugins/table/dialogs/table.js | 9 + .../ckeditor/plugins/tableresize/plugin.js | 7 + .../plugins/tabletools/dialogs/tableCell.js | 8 + .../plugins/templates/dialogs/templates.js | 7 + .../plugins/templates/templates/default.js | 6 + .../ckeditor/plugins/uicolor/dialogs/uicolor.js | 7 + .../RichText/ckeditor/plugins/uicolor/lang/en.js | 6 + .../RichText/ckeditor/plugins/uicolor/plugin.js | 6 + .../ckeditor/plugins/uicolor/yui/assets/yui.css | 6 + .../RichText/ckeditor/plugins/uicolor/yui/yui.js | 76 + .../ckeditor/plugins/wsc/dialogs/ciframe.html | 49 + .../ckeditor/plugins/wsc/dialogs/tmpFrameset.html | 52 + .../RichText/ckeditor/plugins/wsc/dialogs/wsc.css | 6 + .../RichText/ckeditor/plugins/wsc/dialogs/wsc.js | 7 + .../NoAuth/RichText/ckeditor/skins/kama/dialog.css | 9 + .../NoAuth/RichText/ckeditor/skins/kama/editor.css | 12 + .../NoAuth/RichText/ckeditor/skins/kama/icons.png | Bin 0 -> 4918 bytes .../RichText/ckeditor/skins/kama/icons_rtl.png | Bin 0 -> 4935 bytes .../ckeditor/skins/kama/images/dialog_sides.gif | Bin 0 -> 48 bytes .../ckeditor/skins/kama/images/dialog_sides.png | Bin 0 -> 178 bytes .../skins/kama/images/dialog_sides_rtl.png | Bin 0 -> 181 bytes .../RichText/ckeditor/skins/kama/images/mini.gif | Bin 0 -> 183 bytes .../ckeditor/skins/kama/images/noimage.png | Bin 0 -> 2115 bytes .../ckeditor/skins/kama/images/sprites.png | Bin 0 -> 7086 bytes .../ckeditor/skins/kama/images/sprites_ie6.png | Bin 0 -> 2724 bytes .../ckeditor/skins/kama/images/toolbar_start.gif | Bin 0 -> 105 bytes .../NoAuth/RichText/ckeditor/skins/kama/skin.js | 7 + .../RichText/ckeditor/skins/kama/templates.css | 6 + .../RichText/ckeditor/skins/office2003/dialog.css | 9 + .../RichText/ckeditor/skins/office2003/editor.css | 13 + .../RichText/ckeditor/skins/office2003/icons.png | Bin 0 -> 4918 bytes .../ckeditor/skins/office2003/icons_rtl.png | Bin 0 -> 4935 bytes .../skins/office2003/images/dialog_sides.gif | Bin 0 -> 48 bytes .../skins/office2003/images/dialog_sides.png | Bin 0 -> 178 bytes .../skins/office2003/images/dialog_sides_rtl.png | Bin 0 -> 181 bytes .../ckeditor/skins/office2003/images/mini.gif | Bin 0 -> 183 bytes .../ckeditor/skins/office2003/images/noimage.png | Bin 0 -> 2115 bytes .../ckeditor/skins/office2003/images/sprites.png | Bin 0 -> 6119 bytes .../skins/office2003/images/sprites_ie6.png | Bin 0 -> 2715 bytes .../RichText/ckeditor/skins/office2003/skin.js | 6 + .../ckeditor/skins/office2003/templates.css | 6 + .../NoAuth/RichText/ckeditor/skins/v2/dialog.css | 8 + .../NoAuth/RichText/ckeditor/skins/v2/editor.css | 12 + .../NoAuth/RichText/ckeditor/skins/v2/icons.png | Bin 0 -> 4918 bytes .../RichText/ckeditor/skins/v2/icons_rtl.png | Bin 0 -> 4935 bytes .../ckeditor/skins/v2/images/dialog_sides.gif | Bin 0 -> 48 bytes .../ckeditor/skins/v2/images/dialog_sides.png | Bin 0 -> 178 bytes .../ckeditor/skins/v2/images/dialog_sides_rtl.png | Bin 0 -> 181 bytes .../RichText/ckeditor/skins/v2/images/mini.gif | Bin 0 -> 183 bytes .../RichText/ckeditor/skins/v2/images/noimage.png | Bin 0 -> 2115 bytes .../RichText/ckeditor/skins/v2/images/sprites.png | Bin 0 -> 5389 bytes .../ckeditor/skins/v2/images/sprites_ie6.png | Bin 0 -> 492 bytes .../ckeditor/skins/v2/images/toolbar_start.gif | Bin 0 -> 105 bytes .../html/NoAuth/RichText/ckeditor/skins/v2/skin.js | 6 + .../RichText/ckeditor/skins/v2/templates.css | 6 + .../RichText/ckeditor/themes/default/theme.js | 8 + rt/share/html/NoAuth/RichText/dhandler | 4 +- rt/share/html/NoAuth/css/3.4-compat/body.css | 75 - rt/share/html/NoAuth/css/3.4-compat/footer.css | 61 - rt/share/html/NoAuth/css/3.4-compat/forms.css | 110 - rt/share/html/NoAuth/css/3.4-compat/header.css | 88 - rt/share/html/NoAuth/css/3.4-compat/login.css | 54 - rt/share/html/NoAuth/css/3.4-compat/main.css | 75 - rt/share/html/NoAuth/css/3.4-compat/misc.css | 80 - rt/share/html/NoAuth/css/3.4-compat/nav.css | 106 - rt/share/html/NoAuth/css/3.4-compat/quickbar.css | 82 - rt/share/html/NoAuth/css/3.4-compat/ticket.css | 50 - rt/share/html/NoAuth/css/3.4-compat/titlebox.css | 99 - .../html/NoAuth/css/3.4-compat/transactions.css | 83 - rt/share/html/NoAuth/css/3.5-default/approvals.css | 97 - rt/share/html/NoAuth/css/3.5-default/body.css | 81 - rt/share/html/NoAuth/css/3.5-default/footer.css | 91 - rt/share/html/NoAuth/css/3.5-default/forms.css | 148 - rt/share/html/NoAuth/css/3.5-default/header.css | 152 - rt/share/html/NoAuth/css/3.5-default/local.css | 50 - rt/share/html/NoAuth/css/3.5-default/login.css | 85 - rt/share/html/NoAuth/css/3.5-default/logo.css | 60 - rt/share/html/NoAuth/css/3.5-default/main.css | 67 - rt/share/html/NoAuth/css/3.5-default/misc.css | 99 - rt/share/html/NoAuth/css/3.5-default/nav-left.css | 86 - rt/share/html/NoAuth/css/3.5-default/nav.css | 163 - rt/share/html/NoAuth/css/3.5-default/quickbar.css | 98 - .../html/NoAuth/css/3.5-default/ticket-search.css | 86 - rt/share/html/NoAuth/css/3.5-default/ticket.css | 57 - rt/share/html/NoAuth/css/3.5-default/titlebox.css | 158 - .../html/NoAuth/css/3.5-default/transactions.css | 146 - rt/share/html/NoAuth/css/aileron/InHeader | 64 + rt/share/html/NoAuth/css/aileron/base.css | 62 + rt/share/html/NoAuth/css/aileron/boxes.css | 180 + rt/share/html/NoAuth/css/aileron/forms.css | 79 + rt/share/html/NoAuth/css/aileron/images/dhandler | 8 + rt/share/html/NoAuth/css/aileron/layout.css | 174 + rt/share/html/NoAuth/css/aileron/login.css | 50 + rt/share/html/NoAuth/css/aileron/main.css | 63 + rt/share/html/NoAuth/css/aileron/misc.css | 58 + rt/share/html/NoAuth/css/aileron/msie.css | 188 + rt/share/html/NoAuth/css/aileron/msie6.css | 86 + rt/share/html/NoAuth/css/aileron/nav.css | 164 + rt/share/html/NoAuth/css/aileron/ticket-lists.css | 236 + rt/share/html/NoAuth/css/aileron/ticket-search.css | 242 + rt/share/html/NoAuth/css/aileron/ticket.css | 298 + rt/share/html/NoAuth/css/autohandler | 10 +- rt/share/html/NoAuth/css/ballard/InHeader | 54 + rt/share/html/NoAuth/css/ballard/base.css | 62 + rt/share/html/NoAuth/css/ballard/boxes.css | 189 + rt/share/html/NoAuth/css/ballard/images/dhandler | 8 + rt/share/html/NoAuth/css/ballard/layout.css | 177 + rt/share/html/NoAuth/css/ballard/main.css | 62 + rt/share/html/NoAuth/css/ballard/misc.css | 58 + rt/share/html/NoAuth/css/ballard/msie.css | 242 + rt/share/html/NoAuth/css/ballard/msie6.css | 88 + rt/share/html/NoAuth/css/ballard/nav.css | 192 + rt/share/html/NoAuth/css/ballard/ticket-lists.css | 236 + rt/share/html/NoAuth/css/ballard/ticket-search.css | 244 + rt/share/html/NoAuth/css/ballard/ticket.css | 278 + rt/share/html/NoAuth/css/base/admin.css | 97 + rt/share/html/NoAuth/css/base/articles.css | 54 + rt/share/html/NoAuth/css/base/collection.css | 50 + rt/share/html/NoAuth/css/base/farbtastic.css | 98 + rt/share/html/NoAuth/css/base/forms.css | 271 + rt/share/html/NoAuth/css/base/history-folding.css | 91 + .../NoAuth/css/base/jquery-ui-timepicker-addon.css | 7 + rt/share/html/NoAuth/css/base/jquery-ui.css | 48 + .../NoAuth/css/base/jquery-ui.custom.modified.css | 478 + rt/share/html/NoAuth/css/base/login.css | 102 + rt/share/html/NoAuth/css/base/main.css | 74 + rt/share/html/NoAuth/css/base/misc.css | 60 +- rt/share/html/NoAuth/css/base/nav.css | 64 + rt/share/html/NoAuth/css/base/portlets.css | 64 + rt/share/html/NoAuth/css/base/rights-editor.css | 177 + rt/share/html/NoAuth/css/base/superfish-navbar.css | 95 + .../html/NoAuth/css/base/superfish-vertical.css | 23 + rt/share/html/NoAuth/css/base/superfish.css | 138 + rt/share/html/NoAuth/css/base/tablesorter.css | 52 + rt/share/html/NoAuth/css/base/theme-editor.css | 111 + rt/share/html/NoAuth/css/base/ticket-form.css | 122 + rt/share/html/NoAuth/css/base/ticket.css | 146 + rt/share/html/NoAuth/css/base/tools.css | 54 + rt/share/html/NoAuth/css/base/yui-fonts.css | 7 + rt/share/html/NoAuth/css/calendar.css | 10 +- rt/share/html/NoAuth/css/dhandler | 27 +- rt/share/html/NoAuth/css/freeside3/InHeader | 67 + rt/share/html/NoAuth/css/freeside3/base.css | 62 + rt/share/html/NoAuth/css/freeside3/boxes.css | 180 + rt/share/html/NoAuth/css/freeside3/forms.css | 79 + rt/share/html/NoAuth/css/freeside3/images/dhandler | 8 + rt/share/html/NoAuth/css/freeside3/layout.css | 181 + rt/share/html/NoAuth/css/freeside3/login.css | 50 + rt/share/html/NoAuth/css/freeside3/main.css | 63 + rt/share/html/NoAuth/css/freeside3/misc.css | 58 + rt/share/html/NoAuth/css/freeside3/msie-pie.css | 58 + rt/share/html/NoAuth/css/freeside3/msie.css | 188 + rt/share/html/NoAuth/css/freeside3/msie6.css | 86 + rt/share/html/NoAuth/css/freeside3/nav.css | 171 + .../html/NoAuth/css/freeside3/ticket-lists.css | 236 + .../html/NoAuth/css/freeside3/ticket-search.css | 242 + rt/share/html/NoAuth/css/freeside3/ticket.css | 289 + .../html/NoAuth/css/images/arrow.down.black.png | Bin 0 -> 168 bytes rt/share/html/NoAuth/css/images/arrows-ffffff.gif | Bin 0 -> 114 bytes rt/share/html/NoAuth/css/images/arrows-ffffff.png | Bin 0 -> 244 bytes rt/share/html/NoAuth/css/images/arrows-grey.gif | Bin 0 -> 114 bytes rt/share/html/NoAuth/css/images/arrows-grey.png | Bin 0 -> 256 bytes rt/share/html/NoAuth/css/images/shadow.gif | Bin 0 -> 807 bytes rt/share/html/NoAuth/css/images/shadow.png | Bin 0 -> 1698 bytes rt/share/html/NoAuth/css/print.css | 149 +- rt/share/html/NoAuth/css/web2/InHeader | 23 +- rt/share/html/NoAuth/css/web2/admin.css | 60 - rt/share/html/NoAuth/css/web2/base.css | 5 +- rt/share/html/NoAuth/css/web2/boxes.css | 27 +- rt/share/html/NoAuth/css/web2/collection.css | 51 - rt/share/html/NoAuth/css/web2/forms.css | 243 - rt/share/html/NoAuth/css/web2/layout.css | 148 +- rt/share/html/NoAuth/css/web2/login.css | 86 - rt/share/html/NoAuth/css/web2/main.css | 13 +- rt/share/html/NoAuth/css/web2/misc.css | 30 +- rt/share/html/NoAuth/css/web2/msie.css | 46 +- rt/share/html/NoAuth/css/web2/msie6.css | 14 +- rt/share/html/NoAuth/css/web2/nav.css | 289 +- rt/share/html/NoAuth/css/web2/portlets.css | 71 - rt/share/html/NoAuth/css/web2/ticket-lists.css | 80 +- rt/share/html/NoAuth/css/web2/ticket-search.css | 67 +- rt/share/html/NoAuth/css/web2/ticket.css | 74 +- rt/share/html/NoAuth/css/web2/tools.css | 56 - rt/share/html/NoAuth/css/web2/yui-fonts.css | 7 - rt/share/html/NoAuth/iCal/dhandler | 4 +- rt/share/html/NoAuth/images/css/rollup-arrow.gif | Bin 82 -> 97 bytes rt/share/html/NoAuth/images/farbtastic/marker.png | Bin 0 -> 652 bytes rt/share/html/NoAuth/images/farbtastic/mask.png | Bin 0 -> 2020 bytes rt/share/html/NoAuth/images/farbtastic/wheel.png | Bin 0 -> 11733 bytes .../images/jquery_ui/ui-anim_basic_16x16.gif | Bin 0 -> 1553 bytes .../ui-bg_diagonals-thick_18_b81900_40x40.png | Bin 0 -> 384 bytes .../ui-bg_diagonals-thick_20_666666_40x40.png | Bin 0 -> 251 bytes .../jquery_ui/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 180 bytes .../jquery_ui/ui-bg_flat_10_000000_40x100.png | Bin 0 -> 178 bytes .../jquery_ui/ui-bg_flat_75_ffffff_40x100.png | Bin 0 -> 178 bytes .../jquery_ui/ui-bg_glass_100_f6f6f6_1x400.png | Bin 0 -> 104 bytes .../jquery_ui/ui-bg_glass_100_fdf5ce_1x400.png | Bin 0 -> 125 bytes .../jquery_ui/ui-bg_glass_55_fbf9ee_1x400.png | Bin 0 -> 120 bytes .../jquery_ui/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 105 bytes .../jquery_ui/ui-bg_glass_75_dadada_1x400.png | Bin 0 -> 111 bytes .../jquery_ui/ui-bg_glass_75_e6e6e6_1x400.png | Bin 0 -> 110 bytes .../jquery_ui/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 119 bytes .../ui-bg_gloss-wave_35_f6a828_500x100.png | Bin 0 -> 3762 bytes .../ui-bg_highlight-soft_100_eeeeee_1x100.png | Bin 0 -> 90 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 0 -> 101 bytes .../ui-bg_highlight-soft_75_ffe45c_1x100.png | Bin 0 -> 129 bytes .../images/jquery_ui/ui-icons_222222_256x240.png | Bin 0 -> 4369 bytes .../images/jquery_ui/ui-icons_228ef1_256x240.png | Bin 0 -> 4369 bytes .../images/jquery_ui/ui-icons_2e83ff_256x240.png | Bin 0 -> 4369 bytes .../images/jquery_ui/ui-icons_4488cc_256x240.png | Bin 0 -> 1936 bytes .../images/jquery_ui/ui-icons_454545_256x240.png | Bin 0 -> 4369 bytes .../images/jquery_ui/ui-icons_888888_256x240.png | Bin 0 -> 5355 bytes .../images/jquery_ui/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4369 bytes .../images/jquery_ui/ui-icons_ef8c08_256x240.png | Bin 0 -> 4369 bytes .../images/jquery_ui/ui-icons_ffd27a_256x240.png | Bin 0 -> 4369 bytes .../images/jquery_ui/ui-icons_ffffff_256x240.png | Bin 0 -> 4369 bytes rt/share/html/NoAuth/images/tablesorter/asc.gif | Bin 0 -> 54 bytes rt/share/html/NoAuth/images/tablesorter/bg.gif | Bin 0 -> 64 bytes rt/share/html/NoAuth/images/tablesorter/desc.gif | Bin 0 -> 54 bytes rt/share/html/NoAuth/js/IE7/IE7.js | 2 - rt/share/html/NoAuth/js/IE7/IE8.js | 2 - rt/share/html/NoAuth/js/IE7/ie7-recalc.js | 2 - rt/share/html/NoAuth/js/IE7/ie7-squish.js | 36 - rt/share/html/NoAuth/js/ahah.js | 51 - rt/share/html/NoAuth/js/autohandler | 2 +- rt/share/html/NoAuth/js/cascaded.js | 4 +- rt/share/html/NoAuth/js/combobox.js | 2 +- rt/share/html/NoAuth/js/dhandler | 65 + rt/share/html/NoAuth/js/farbtastic.js | 347 + rt/share/html/NoAuth/js/history-folding.js | 73 + rt/share/html/NoAuth/js/jquery-1.4.2.min.js | 154 + .../html/NoAuth/js/jquery-ui-1.8.4.custom.min.js | 274 + .../html/NoAuth/js/jquery-ui-patch-datepicker.js | 92 + .../html/NoAuth/js/jquery-ui-timepicker-addon.js | 1326 ++ rt/share/html/NoAuth/js/jquery.event.hover-1.0.js | 85 + rt/share/html/NoAuth/js/jquery.supposition.js | 83 + rt/share/html/NoAuth/js/jquery.tablesorter.min.js | 16 + rt/share/html/NoAuth/js/jquery_noconflict.js | 51 + rt/share/html/NoAuth/js/late.js | 49 + rt/share/html/NoAuth/js/prototype/prototype.js | 4320 ------ rt/share/html/NoAuth/js/scriptaculous/controls.js | 971 -- rt/share/html/NoAuth/js/scriptaculous/effects.js | 1130 -- .../html/NoAuth/js/scriptaculous/scriptaculous.js | 60 - rt/share/html/NoAuth/js/superfish.js | 121 + rt/share/html/NoAuth/js/supersubs.js | 90 + rt/share/html/NoAuth/js/titlebox-state.js | 4 +- rt/share/html/NoAuth/js/userautocomplete.js | 110 + rt/share/html/NoAuth/js/util.js | 405 +- rt/share/html/NoAuth/rss/dhandler | 2 +- rt/share/html/Prefs/Calendar.html | 15 +- rt/share/html/Prefs/Elements/Tabs | 76 - rt/share/html/Prefs/MyRT.html | 20 +- rt/share/html/Prefs/Other.html | 15 +- rt/share/html/Prefs/Quicksearch.html | 13 +- rt/share/html/Prefs/Search.html | 10 +- rt/share/html/Prefs/SearchOptions.html | 10 +- rt/share/html/REST/1.0/Forms/attachment/default | 4 +- rt/share/html/REST/1.0/Forms/group/customfields | 4 +- rt/share/html/REST/1.0/Forms/group/default | 4 +- rt/share/html/REST/1.0/Forms/group/ns | 4 +- rt/share/html/REST/1.0/Forms/queue/customfields | 4 +- rt/share/html/REST/1.0/Forms/queue/default | 4 +- rt/share/html/REST/1.0/Forms/queue/ns | 4 +- .../html/REST/1.0/Forms/queue/ticketcustomfields | 6 +- rt/share/html/REST/1.0/Forms/ticket/attachments | 9 +- rt/share/html/REST/1.0/Forms/ticket/comment | 4 +- rt/share/html/REST/1.0/Forms/ticket/default | 81 +- rt/share/html/REST/1.0/Forms/ticket/history | 11 +- rt/share/html/REST/1.0/Forms/ticket/links | 11 +- rt/share/html/REST/1.0/Forms/ticket/merge | 6 +- rt/share/html/REST/1.0/Forms/ticket/take | 4 +- rt/share/html/REST/1.0/Forms/transaction/default | 14 +- rt/share/html/REST/1.0/Forms/user/default | 4 +- rt/share/html/REST/1.0/Forms/user/ns | 4 +- rt/share/html/REST/1.0/NoAuth/mail-gateway | 2 +- rt/share/html/REST/1.0/autohandler | 2 +- rt/share/html/REST/1.0/dhandler | 2 +- rt/share/html/REST/1.0/logout | 2 +- rt/share/html/REST/1.0/search/dhandler | 2 +- rt/share/html/REST/1.0/search/ticket | 42 +- rt/share/html/REST/1.0/ticket/comment | 4 +- rt/share/html/REST/1.0/ticket/link | 9 +- rt/share/html/REST/1.0/ticket/merge | 4 +- rt/share/html/Search/Article.html | 52 + rt/share/html/Search/Build.html | 90 +- rt/share/html/Search/Bulk.html | 44 +- rt/share/html/Search/Calendar.html | 9 +- rt/share/html/Search/Chart | 8 +- rt/share/html/Search/Chart.html | 61 +- rt/share/html/Search/Edit.html | 16 +- rt/share/html/Search/Elements/Article | 64 + rt/share/html/Search/Elements/BuildFormatString | 16 +- rt/share/html/Search/Elements/Chart | 82 +- rt/share/html/Search/Elements/ConditionRow | 2 +- rt/share/html/Search/Elements/DisplayOptions | 87 +- rt/share/html/Search/Elements/EditFormat | 31 +- rt/share/html/Search/Elements/EditQuery | 2 +- rt/share/html/Search/Elements/EditSearches | 21 +- rt/share/html/Search/Elements/EditSort | 142 + rt/share/html/Search/Elements/Graph | 2 +- rt/share/html/Search/Elements/NewListActions | 2 +- rt/share/html/Search/Elements/PickBasics | 10 +- rt/share/html/Search/Elements/PickCFs | 36 +- rt/share/html/Search/Elements/PickCriteria | 7 +- rt/share/html/Search/Elements/PickCustomerFields | 8 + rt/share/html/Search/Elements/ResultsRSSView | 6 +- rt/share/html/Search/Elements/SearchPrivacy | 2 +- rt/share/html/Search/Elements/SearchesForObject | 2 +- rt/share/html/Search/Elements/SelectAndOr | 2 +- rt/share/html/Search/Elements/SelectChartType | 2 +- rt/share/html/Search/Elements/SelectGroup | 4 +- rt/share/html/Search/Elements/SelectGroupBy | 2 +- rt/share/html/Search/Elements/SelectLinks | 2 +- rt/share/html/Search/Elements/SelectPersonType | 4 +- rt/share/html/Search/Elements/SelectSearchObject | 2 +- .../html/Search/Elements/SelectSearchesForObjects | 8 +- rt/share/html/Search/Graph.html | 2 +- rt/share/html/Search/Results.html | 64 +- rt/share/html/Search/Results.rdf | 2 +- rt/share/html/Search/Results.tsv | 156 +- rt/share/html/Search/Results.xls | 1 + rt/share/html/Search/Simple.html | 47 +- rt/share/html/SelfService/Article/Display.html | 73 + rt/share/html/SelfService/Article/Search.html | 114 + rt/share/html/SelfService/Article/autohandler | 58 + rt/share/html/SelfService/Attachment/dhandler | 2 +- rt/share/html/SelfService/Closed.html | 4 +- rt/share/html/SelfService/Create.html | 6 +- rt/share/html/SelfService/CreateTicketInQueue.html | 2 +- rt/share/html/SelfService/Display.html | 18 +- rt/share/html/SelfService/Elements/GotoTicket | 6 +- rt/share/html/SelfService/Elements/Header | 6 +- rt/share/html/SelfService/Elements/MyRequests | 24 +- rt/share/html/SelfService/Elements/SearchArticle | 51 + rt/share/html/SelfService/Elements/Tabs | 113 - rt/share/html/SelfService/Error.html | 2 +- rt/share/html/SelfService/Prefs.html | 2 +- rt/share/html/SelfService/Update.html | 31 +- rt/share/html/SelfService/index.html | 4 +- .../html/Ticket/Attachment/WithHeaders/dhandler | 4 +- rt/share/html/Ticket/Attachment/dhandler | 15 +- rt/share/html/Ticket/Create.html | 240 +- rt/share/html/Ticket/Display.html | 185 +- rt/share/html/Ticket/Elements/AddAttachments | 61 + rt/share/html/Ticket/Elements/AddCustomers | 39 +- rt/share/html/Ticket/Elements/AddWatchers | 2 +- rt/share/html/Ticket/Elements/Bookmark | 6 +- rt/share/html/Ticket/Elements/BulkLinks | 2 +- rt/share/html/Ticket/Elements/ClickToShowHistory | 60 + rt/share/html/Ticket/Elements/EditBasics | 172 +- rt/share/html/Ticket/Elements/EditCustomFields | 56 +- rt/share/html/Ticket/Elements/EditCustomers | 45 +- rt/share/html/Ticket/Elements/EditDates | 2 +- rt/share/html/Ticket/Elements/EditPeople | 2 +- .../Ticket/Elements/EditTransactionCustomFields | 42 +- rt/share/html/Ticket/Elements/EditWatchers | 23 +- rt/share/html/Ticket/Elements/FindAttachments | 2 +- rt/share/html/Ticket/Elements/FindTransactions | 72 + rt/share/html/Ticket/Elements/FoldStanzaJS | 50 + rt/share/html/Ticket/Elements/LoadTextAttachments | 2 +- rt/share/html/Ticket/Elements/PreviewScrips | 268 +- rt/share/html/Ticket/Elements/Reminders | 170 +- rt/share/html/Ticket/Elements/ShowAttachments | 6 +- rt/share/html/Ticket/Elements/ShowBasics | 47 +- rt/share/html/Ticket/Elements/ShowCustomFields | 2 +- rt/share/html/Ticket/Elements/ShowCustomers | 17 +- rt/share/html/Ticket/Elements/ShowDates | 49 +- rt/share/html/Ticket/Elements/ShowDependencies | 2 +- rt/share/html/Ticket/Elements/ShowGnuPGStatus | 2 +- rt/share/html/Ticket/Elements/ShowGroupMembers | 2 +- rt/share/html/Ticket/Elements/ShowHistory | 62 +- rt/share/html/Ticket/Elements/ShowMembers | 9 +- rt/share/html/Ticket/Elements/ShowMessageHeaders | 2 +- rt/share/html/Ticket/Elements/ShowMessageStanza | 149 +- rt/share/html/Ticket/Elements/ShowParents | 2 +- rt/share/html/Ticket/Elements/ShowPeople | 2 +- rt/share/html/Ticket/Elements/ShowPriority | 2 +- rt/share/html/Ticket/Elements/ShowQueue | 12 +- rt/share/html/Ticket/Elements/ShowRequestor | 166 +- .../html/Ticket/Elements/ShowRequestorExtraInfo | 89 + rt/share/html/Ticket/Elements/ShowRequestorTickets | 79 + .../Ticket/Elements/ShowRequestorTicketsActive | 60 + .../html/Ticket/Elements/ShowRequestorTicketsAll | 53 + .../Ticket/Elements/ShowRequestorTicketsInactive | 60 + .../html/Ticket/Elements/ShowSimplifiedRecipients | 100 + rt/share/html/Ticket/Elements/ShowSummary | 68 +- rt/share/html/Ticket/Elements/ShowTime | 2 +- rt/share/html/Ticket/Elements/ShowTransaction | 62 +- .../Ticket/Elements/ShowTransactionAttachments | 106 +- rt/share/html/Ticket/Elements/ShowUpdateStatus | 4 +- rt/share/html/Ticket/Elements/ShowUserEntry | 2 +- rt/share/html/Ticket/Elements/UpdateCc | 26 +- rt/share/html/Ticket/Forward.html | 30 +- rt/share/html/Ticket/GnuPG.html | 10 +- .../Ticket/Graphs/Elements/EditGraphProperties | 4 +- rt/share/html/Ticket/Graphs/Elements/ShowGraph | 3 +- rt/share/html/Ticket/Graphs/Elements/ShowLegends | 2 +- rt/share/html/Ticket/Graphs/dhandler | 3 +- rt/share/html/Ticket/Graphs/index.html | 8 +- rt/share/html/Ticket/History.html | 8 +- rt/share/html/Ticket/Modify.html | 9 +- rt/share/html/Ticket/ModifyAll.html | 61 +- rt/share/html/Ticket/ModifyDates.html | 7 +- rt/share/html/Ticket/ModifyLinks.html | 9 +- rt/share/html/Ticket/ModifyPeople.html | 55 +- rt/share/html/Ticket/Reminders.html | 18 +- rt/share/html/Ticket/ShowEmailRecord.html | 4 +- rt/share/html/Ticket/Update.html | 245 +- rt/share/html/Ticket/autohandler | 20 + rt/share/html/Tools/Elements/Tabs | 90 - rt/share/html/Tools/MyDay.html | 11 +- rt/share/html/Tools/MyReminders.html | 55 + rt/share/html/Tools/Offline.html | 6 +- rt/share/html/Tools/Reports/CreatedByDates.html | 94 - rt/share/html/Tools/Reports/Elements/Tabs | 89 - rt/share/html/Tools/Reports/ResolvedByDates.html | 95 - rt/share/html/Tools/Reports/ResolvedByOwner.html | 70 - rt/share/html/Tools/Reports/index.html | 76 - rt/share/html/Tools/index.html | 37 +- rt/share/html/User/Delegation.html | 107 - rt/share/html/User/Elements/DelegateRights | 110 - rt/share/html/User/Elements/GroupTabs | 84 - rt/share/html/User/Elements/Tabs | 97 - rt/share/html/User/Groups/Members.html | 160 - rt/share/html/User/Groups/Modify.html | 157 - rt/share/html/User/Groups/index.html | 67 - rt/share/html/User/Prefs.html | 95 +- rt/share/html/Widgets/BulkEdit | 2 +- rt/share/html/Widgets/BulkProcess | 2 +- rt/share/html/Widgets/ComboBox | 6 +- rt/share/html/Widgets/FinalizeWidgetArguments | 9 +- rt/share/html/Widgets/Form/Boolean | 4 +- rt/share/html/Widgets/Form/Integer | 13 +- rt/share/html/Widgets/Form/Select | 6 +- rt/share/html/Widgets/Form/String | 4 +- rt/share/html/Widgets/SavedSearch | 10 +- rt/share/html/Widgets/SelectionBox | 2 +- rt/share/html/Widgets/TitleBox | 10 +- rt/share/html/Widgets/TitleBoxEnd | 2 +- rt/share/html/Widgets/TitleBoxStart | 27 +- rt/share/html/autohandler | 7 +- rt/share/html/dhandler | 4 +- rt/share/html/index.html | 37 +- rt/share/html/l | 4 +- rt/share/html/l_unsafe | 52 + rt/share/html/m/_elements/footer | 10 - rt/share/html/m/_elements/raw_style | 4 + rt/share/html/m/_elements/wrapper | 2 +- rt/share/html/m/ticket/autohandler | 8 + rt/share/html/m/ticket/create | 58 +- rt/share/html/m/ticket/show | 12 +- rt/share/html/m/tickets/search | 2 +- rt/share/po/bg.po | 9473 ++++++++++++++ rt/share/po/cs.po | 9541 ++++++++++++++ rt/share/po/da.po | 11032 ++++++++++++++++ rt/share/po/de.po | 10152 +++++++++++++++ rt/share/po/el.po | 9449 ++++++++++++++ rt/share/po/en.po | 23 + rt/share/po/en_GB.po | 7654 +++++++++++ rt/share/po/es.po | 11165 ++++++++++++++++ rt/share/po/et.po | 9225 +++++++++++++ rt/share/po/fi.po | 10534 +++++++++++++++ rt/share/po/fr.po | 9949 ++++++++++++++ rt/share/po/he.po | 9241 +++++++++++++ rt/share/po/hr.po | 10514 +++++++++++++++ rt/share/po/hu.po | 9443 ++++++++++++++ rt/share/po/id.po | 9870 ++++++++++++++ rt/share/po/is.po | 8873 +++++++++++++ rt/share/po/it.po | 11177 ++++++++++++++++ rt/share/po/ja.po | 9295 +++++++++++++ rt/share/po/lt.po | 9665 ++++++++++++++ rt/share/po/lv.po | 9446 ++++++++++++++ rt/share/po/mk.po | 8721 +++++++++++++ rt/share/po/nb.po | 11105 ++++++++++++++++ rt/share/po/nl.po | 10517 +++++++++++++++ rt/share/po/nn.po | 9562 ++++++++++++++ rt/share/po/pl.po | 10816 +++++++++++++++ rt/share/po/pt.po | 9633 ++++++++++++++ rt/share/po/pt_BR.po | 11233 ++++++++++++++++ rt/share/po/pt_PT.po | 9053 +++++++++++++ rt/share/po/rt.pot | 8696 ++++++++++++ rt/share/po/ru.po | 9611 ++++++++++++++ rt/share/po/sl.po | 9438 ++++++++++++++ rt/share/po/sv.po | 9792 ++++++++++++++ rt/share/po/tr.po | 9634 ++++++++++++++ rt/share/po/zh_CN.po | 13016 ++++++++++++++++++ rt/share/po/zh_TW.po | 13049 +++++++++++++++++++ rt/t/00-compile.t | 25 +- rt/t/00-mason-syntax.t | 12 +- rt/t/api/ace.t | 238 - rt/t/api/action-createtickets.t | 44 +- rt/t/api/attachment.t | 2 - rt/t/api/attachment_filename.t | 26 +- rt/t/api/attribute-tests.t | 7 +- rt/t/api/attribute.t | 11 +- rt/t/api/bookmarks.t | 24 + rt/t/api/canonical_charset.t | 30 + rt/t/api/cf.t | 224 - rt/t/api/cf_combo_casacade.t | 46 - rt/t/api/cf_external.t | 56 - rt/t/api/cf_pattern.t | 53 - rt/t/api/cf_render_type.t | 49 + rt/t/api/cf_single_values.t | 38 - rt/t/api/cf_transaction.t | 60 - rt/t/api/condition-ownerchange.t | 7 +- rt/t/api/condition-reject.t | 7 +- rt/t/api/config.t | 43 + rt/t/api/cron.t | 89 + rt/t/api/currentuser.t | 3 +- rt/t/api/customfield.t | 11 +- rt/t/api/date.t | 106 +- rt/t/api/emailparser.t | 23 +- rt/t/api/execute-code.t | 108 + rt/t/api/group-rights.t | 137 + rt/t/api/group.t | 19 +- rt/t/api/groups.t | 111 +- rt/t/api/has_rights.t | 43 + rt/t/api/i18n.t | 3 +- rt/t/api/i18n_guess.t | 71 + rt/t/api/link.t | 61 +- rt/t/api/password-types.t | 20 +- rt/t/api/queue.t | 21 +- rt/t/api/record.t | 23 +- rt/t/api/reminders.t | 10 +- rt/t/api/report_tickets.t | 15 + rt/t/api/rights.t | 18 +- rt/t/api/rights_show_ticket.t | 28 +- rt/t/api/rt.t | 11 +- rt/t/api/rtname.t | 34 + rt/t/api/safe-run-child-util.t | 201 + rt/t/api/savedsearch.t | 181 + rt/t/api/scrip.t | 10 +- rt/t/api/scrip_order.t | 11 +- rt/t/api/searchbuilder.t | 3 +- rt/t/api/squish.t | 16 + rt/t/api/system.t | 5 +- rt/t/api/template-insert.t | 26 - rt/t/api/template.t | 46 +- rt/t/api/ticket.t | 53 +- rt/t/api/tickets.t | 44 +- rt/t/api/tickets_overlay_sql.t | 31 +- rt/t/api/txn_content.t | 2 +- rt/t/api/uri-fsck_com_rt.t | 7 +- rt/t/api/uri-t.t | 5 +- rt/t/api/user.t | 58 +- rt/t/api/users.t | 37 +- rt/t/api/versions_sorter.t | 22 + rt/t/api/web-config.t | 163 + rt/t/approval/admincc.t | 18 +- rt/t/approval/basic.t | 26 +- rt/t/articles/article.t | 230 + rt/t/articles/articles.t | 137 + rt/t/articles/basic-api.t | 114 + rt/t/articles/cfsearch.t | 94 + rt/t/articles/class.t | 76 + rt/t/articles/interface.t | 221 + rt/t/articles/queue-specific-class.t | 218 + rt/t/articles/search-interface.t | 164 + rt/t/articles/upload-customfields.t | 90 + rt/t/articles/uri-a.t | 64 + rt/t/articles/uri-articles.t | 31 + rt/t/clicky.t | 119 - rt/t/cron.t | 90 - rt/t/customfields/access_via_queue.t | 30 +- rt/t/customfields/api.t | 221 + rt/t/customfields/combo_cascade.t | 37 + rt/t/customfields/date_search.t | 119 + rt/t/customfields/datetime_search.t | 141 + rt/t/customfields/external.t | 56 + rt/t/customfields/ip.t | 285 + rt/t/customfields/iprange.t | 469 + rt/t/customfields/iprangev6.t | 474 + rt/t/customfields/ipv6.t | 252 + rt/t/customfields/pattern.t | 44 + rt/t/customfields/single_values.t | 37 + rt/t/customfields/sort_order.t | 20 +- rt/t/customfields/transaction.t | 60 + rt/t/data/configs/apache2.2+fastcgi.conf | 44 - rt/t/data/configs/apache2.2+fastcgi.conf.in | 14 +- rt/t/data/configs/apache2.2+mod_perl.conf | 41 - rt/t/data/configs/apache2.2+mod_perl.conf.in | 40 +- rt/t/data/configs/passwords | 2 + .../gnupg/emails/10-encrypted-inline-plain.txt | 2 +- .../emails/11-encrypted-inline-attachment.txt | 2 +- .../gnupg/emails/12-encrypted-inline-binary.txt | 2 +- .../emails/13-signed-encrypted-MIME-plain.txt | 2 +- .../emails/14-signed-encrypted-MIME-attachment.txt | 2 +- .../emails/15-signed-encrypted-MIME-binary.txt | 2 +- .../emails/16-signed-encrypted-inline-plain.txt | 2 +- .../emails/18-signed-encrypted-inline-binary.txt | 2 +- .../gnupg/emails/19-signed-inline-plain-nested.txt | 2 +- .../emails/2-signed-MIME-plain-with-attachment.txt | 2 +- .../emails/3-signed-MIME-plain-with-binary.txt | 2 +- rt/t/data/gnupg/emails/4-signed-inline-plain.txt | 2 +- .../emails/5-signed-inline-with-attachment.txt | 2 +- .../gnupg/emails/6-signed-inline-with-binary.txt | 2 +- rt/t/data/gnupg/emails/7-encrypted-MIME-plain.txt | 2 +- .../emails/8-encrypted-MIME-with-attachment.txt | 2 +- .../gnupg/emails/9-encrypted-MIME-with-binary.txt | 2 +- .../emails/special/quoted_inline_signature.txt | 2 +- rt/t/delegation/cleanup_stalled.t | 458 - rt/t/delegation/revocation.t | 135 - rt/t/fts/indexed_mysql.t | 134 + rt/t/fts/indexed_oracle.t | 82 + rt/t/fts/indexed_pg.t | 119 + rt/t/fts/not_indexed.t | 61 + rt/t/i18n/caching.t | 33 + rt/t/i18n/default.t | 9 +- rt/t/i18n/footer.t | 29 + rt/t/lifecycles/basics.t | 247 + rt/t/lifecycles/dates.t | 317 + rt/t/lifecycles/moving.t | 97 + rt/t/lifecycles/unresolved-deps.t | 45 + rt/t/lifecycles/utils.pl | 73 + rt/t/mail/bounce.t | 42 + rt/t/mail/charsets-outgoing.t | 67 +- rt/t/mail/crypt-gnupg.t | 114 +- rt/t/mail/dashboard-chart-with-utf8.t | 92 + rt/t/mail/dashboards.t | 371 + rt/t/mail/digest-attributes.t | 168 + rt/t/mail/disposition-outgoing.t | 69 + rt/t/mail/extractsubjecttag.t | 22 +- rt/t/mail/fake-sendmail | 27 + rt/t/mail/gateway.t | 230 +- rt/t/mail/gnupg-bad.t | 58 +- rt/t/mail/gnupg-incoming.t | 64 +- rt/t/mail/gnupg-outgoing-encrypted.t | 27 + rt/t/mail/gnupg-outgoing-plain.t | 25 + rt/t/mail/gnupg-outgoing-signed.t | 27 + rt/t/mail/gnupg-outgoing-signed_encrypted.t | 28 + rt/t/mail/gnupg-realmail.t | 36 +- rt/t/mail/gnupg-reverification.t | 77 +- rt/t/mail/gnupg-special.t | 33 +- rt/t/mail/mime_decoding.t | 54 +- rt/t/mail/multipart.t | 10 +- rt/t/mail/one-time-recipients.t | 209 + rt/t/mail/outlook.t | 15 +- rt/t/mail/rfc2231-attachment.t | 28 + rt/t/mail/rfc822-attachment.t | 137 + rt/t/mail/sendmail.t | 179 +- rt/t/mail/specials-in-encodedwords.t | 40 + rt/t/mail/threading.t | 90 + rt/t/mail/verp.t | 2 +- rt/t/mail/wrong_mime_charset.t | 21 +- rt/t/maildigest/attributes.t | 168 - rt/t/rtname.t | 34 - rt/t/savedsearch.t | 185 - rt/t/shredder/00load.t | 2 +- rt/t/shredder/01basics.t | 4 +- rt/t/shredder/01ticket.t | 18 +- rt/t/shredder/02group_member.t | 22 +- rt/t/shredder/02queue.t | 28 +- rt/t/shredder/02template.t | 14 +- rt/t/shredder/02user.t | 10 +- rt/t/shredder/03plugin.t | 6 +- rt/t/shredder/03plugin_summary.t | 4 +- rt/t/shredder/03plugin_tickets.t | 36 +- rt/t/shredder/03plugin_users.t | 62 +- rt/t/shredder/utils.pl | 119 +- rt/t/ticket/action_linear_escalate.t | 9 +- rt/t/ticket/add-watchers.t | 13 +- rt/t/ticket/badlinks.t | 4 +- rt/t/ticket/batch-upload-csv.t | 7 +- rt/t/ticket/cfsort-freeform-multiple.t | 61 +- rt/t/ticket/cfsort-freeform-single.t | 72 +- rt/t/ticket/clicky.t | 142 + rt/t/ticket/deferred_owner.t | 21 +- rt/t/ticket/googleish_search.t | 43 + rt/t/ticket/link_search.t | 14 +- rt/t/ticket/linking.t | 78 +- rt/t/ticket/merge.t | 12 +- rt/t/ticket/quicksearch.t | 41 - rt/t/ticket/requestor-order.t | 26 +- rt/t/ticket/scrips_batch.t | 24 +- rt/t/ticket/search.t | 88 +- rt/t/ticket/search_by_cf_freeform_multiple.t | 55 +- rt/t/ticket/search_by_cf_freeform_single.t | 41 +- rt/t/ticket/search_by_links.t | 39 +- rt/t/ticket/search_by_txn.t | 4 +- rt/t/ticket/search_by_watcher.t | 362 +- rt/t/ticket/search_long_cf_values.t | 22 +- rt/t/ticket/sort-by-custom-ownership.t | 20 +- rt/t/ticket/sort-by-queue.t | 29 +- rt/t/ticket/sort-by-user.t | 45 +- rt/t/ticket/sort_by_cf.t | 34 +- rt/t/validator/group_members.t | 2 +- rt/t/web/admin_groups.t | 59 + rt/t/web/admin_user.t | 21 + rt/t/web/articles-links.t | 52 + rt/t/web/attachment-with-name-0.t | 23 + rt/t/web/attachment_encoding.t | 15 +- rt/t/web/attachments.t | 67 +- rt/t/web/basic.t | 35 +- rt/t/web/case-sensitivity.t | 85 + rt/t/web/cf_access.t | 129 +- rt/t/web/cf_date.t | 187 + rt/t/web/cf_datetime.t | 235 + rt/t/web/cf_onqueue.t | 24 +- rt/t/web/cf_render_type.t | 50 + rt/t/web/cf_select_one.t | 81 +- rt/t/web/charting.t | 25 +- rt/t/web/class_create.t | 75 + rt/t/web/clickjacking-preventions.t | 30 + rt/t/web/command_line.t | 67 +- rt/t/web/command_line_link_to_articles.t | 48 + rt/t/web/command_line_with_unknown_field.t | 16 +- rt/t/web/compilation_errors.t | 38 +- rt/t/web/config_tab_right.t | 8 +- rt/t/web/crypt-gnupg.t | 81 +- rt/t/web/csrf-rest.t | 77 + rt/t/web/csrf.t | 181 + rt/t/web/custom_frontpage.t | 39 +- rt/t/web/custom_search.t | 6 +- rt/t/web/dashboard_with_deleted_saved_search.t | 89 - rt/t/web/dashboards-basics.t | 268 + rt/t/web/dashboards-deleted-saved-search.t | 89 + rt/t/web/dashboards-groups.t | 139 +- rt/t/web/dashboards-permissions.t | 10 +- rt/t/web/dashboards-search-cache.t | 73 + rt/t/web/dashboards.t | 250 - rt/t/web/gnupg-headers.t | 53 + rt/t/web/gnupg-outgoing.t | 363 - rt/t/web/gnupg-select-keys-on-create.t | 183 +- rt/t/web/gnupg-select-keys-on-update.t | 197 +- rt/t/web/gnupg-tickyboxes.t | 84 + rt/t/web/googleish_search.t | 223 + rt/t/web/group_create.t | 75 + .../Callbacks/logout.t/NoAuth/Logout.html/Default | 6 + rt/t/web/html/NoAuth/js/not-by-default.js | 3 + rt/t/web/html/delete-article-name-method.html | 15 + rt/t/web/html_template.t | 12 +- rt/t/web/installer.t | 95 + rt/t/web/logout.t | 39 + rt/t/web/offline.t | 78 + rt/t/web/offline_messages_utf8.t | 3 +- rt/t/web/offline_utf8.t | 15 +- rt/t/web/owner_disabled_group_19221.t | 190 + rt/t/web/passthrough-jsmin | 5 + rt/t/web/path-traversal.t | 12 +- rt/t/web/private-components.t | 6 +- rt/t/web/query_builder.t | 131 +- rt/t/web/query_builder_queue_limits.t | 183 + rt/t/web/query_log.t | 20 + rt/t/web/queue_caching.t | 90 + rt/t/web/queue_create.t | 75 + rt/t/web/quickcreate.t | 37 + rt/t/web/quicksearch.t | 6 +- rt/t/web/redirect-after-login.t | 32 +- rt/t/web/redirect.t | 106 + rt/t/web/reminders.t | 88 + rt/t/web/remote_user.t | 36 + rt/t/web/requestor_groups_edit_link.t | 56 + rt/t/web/requestor_groups_limit.t | 36 + rt/t/web/rest-non-ascii-subject.t | 6 +- rt/t/web/rest-sort.t | 46 + rt/t/web/rest.t | 85 +- rt/t/web/rest_cfs_with_same_name.t | 88 + rt/t/web/richtext-autohandler.t | 10 +- rt/t/web/rights.t | 38 +- rt/t/web/rights1.t | 33 +- rt/t/web/saved_search_chart.t | 82 +- rt/t/web/saved_search_context.t | 69 + rt/t/web/saved_search_permissions.t | 6 +- rt/t/web/saved_search_update.t | 2 +- rt/t/web/scrips.t | 105 + rt/t/web/scrub.t | 46 + rt/t/web/search_bulk_update_links.t | 24 +- rt/t/web/search_cf_quotes.t | 53 + rt/t/web/search_rss.t | 11 +- rt/t/web/search_simple.t | 76 + rt/t/web/search_tabs.t | 86 + rt/t/web/self_service.t | 19 + rt/t/web/squish.t | 78 + rt/t/web/template.t | 62 + rt/t/web/ticket-create-utf8.t | 18 +- rt/t/web/ticket_display.t | 63 + rt/t/web/ticket_forward.t | 267 + rt/t/web/ticket_links.t | 173 + rt/t/web/ticket_modify_all.t | 83 + rt/t/web/ticket_modify_people.t | 113 + rt/t/web/ticket_owner.t | 147 +- rt/t/web/ticket_owner_autocomplete.t | 185 + rt/t/web/ticket_owner_issues_16656.t | 63 + rt/t/web/ticket_seen.t | 24 +- rt/t/web/ticket_txn_content.t | 71 +- rt/t/web/ticket_update_without_content.t | 14 +- rt/t/web/transaction_batch.t | 62 + rt/t/web/unlimited_search.t | 13 +- rt/t/web/user_update.t | 32 + rt/t/web/walk.t | 92 + 2084 files changed, 442781 insertions(+), 457468 deletions(-) delete mode 100644 rt/Makefile delete mode 100644 rt/UPGRADING delete mode 100644 rt/UPGRADING.mysql delete mode 100644 rt/autom4te.cache/output.0 delete mode 100644 rt/autom4te.cache/requests delete mode 100644 rt/autom4te.cache/traces.0 delete mode 100755 rt/bin/fastcgi_server delete mode 100644 rt/bin/fastcgi_server.in delete mode 100755 rt/bin/mason_handler.fcgi delete mode 100644 rt/bin/mason_handler.fcgi.in delete mode 100755 rt/bin/mason_handler.scgi delete mode 100644 rt/bin/mason_handler.scgi.in delete mode 100644 rt/bin/mason_handler.svc delete mode 100644 rt/bin/mason_handler.svc.in create mode 100755 rt/bin/rt delete mode 100644 rt/bin/rt-crontool delete mode 100755 rt/bin/rt-mailgate delete mode 100755 rt/bin/standalone_httpd delete mode 100755 rt/bin/standalone_httpd.in delete mode 100644 rt/bin/webmux.pl.in delete mode 100644 rt/config.log delete mode 100755 rt/config.status create mode 100644 rt/devel/tools/apache.conf create mode 100644 rt/devel/tools/change-loc-msgstr create mode 100644 rt/devel/tools/extract-message-catalog create mode 100644 rt/devel/tools/factory create mode 100644 rt/devel/tools/license_tag create mode 100644 rt/devel/tools/merge-rosetta.pl create mode 100644 rt/devel/tools/rt-attributes-editor create mode 100644 rt/devel/tools/tweak-template-locstring delete mode 100755 rt/docs/README.docs delete mode 100644 rt/docs/Security create mode 100644 rt/docs/UPGRADING-2.0 create mode 100644 rt/docs/UPGRADING-3.0 create mode 100644 rt/docs/UPGRADING-3.2 create mode 100644 rt/docs/UPGRADING-3.4 create mode 100644 rt/docs/UPGRADING-3.6 create mode 100644 rt/docs/UPGRADING-3.8 create mode 100644 rt/docs/UPGRADING-4.0 create mode 100644 rt/docs/UPGRADING.mysql delete mode 100644 rt/docs/creating_external_custom_fields.pod create mode 100644 rt/docs/customizing/articles_introduction.pod create mode 100644 rt/docs/customizing/templates.pod create mode 100644 rt/docs/customizing/timezones_in_charts.pod delete mode 100644 rt/docs/design_docs/3.3-schema-redesign.txt delete mode 100755 rt/docs/design_docs/CARS delete mode 100755 rt/docs/design_docs/TransactionTypes.txt delete mode 100644 rt/docs/design_docs/acls delete mode 100644 rt/docs/design_docs/approval_notices delete mode 100644 rt/docs/design_docs/approval_template delete mode 100644 rt/docs/design_docs/cf_search delete mode 100644 rt/docs/design_docs/cli_spec delete mode 100644 rt/docs/design_docs/cvs_integration delete mode 100644 rt/docs/design_docs/delegation delete mode 100644 rt/docs/design_docs/evil_plans delete mode 100644 rt/docs/design_docs/gnupg_details_on_output_formats delete mode 100644 rt/docs/design_docs/groups_notes delete mode 100644 rt/docs/design_docs/link-definitions.txt delete mode 100644 rt/docs/design_docs/realflow.txt delete mode 100644 rt/docs/design_docs/recursive_group_membership_algorithm delete mode 100644 rt/docs/design_docs/rql_parser_machine.graphviz delete mode 100644 rt/docs/design_docs/rt-mvc delete mode 100644 rt/docs/design_docs/ruleset-workflow.txt delete mode 100755 rt/docs/design_docs/subscription-definitions.txt delete mode 100644 rt/docs/design_docs/ticket_templates delete mode 100644 rt/docs/design_docs/users create mode 100644 rt/docs/extending/clickable_links.pod create mode 100644 rt/docs/extending/external_custom_fields.pod create mode 100644 rt/docs/extending/using_forms_widgets.pod delete mode 100644 rt/docs/extending_clickable_links.pod create mode 100644 rt/docs/full_text_indexing.pod create mode 100644 rt/docs/glossary.pod delete mode 100644 rt/docs/gnupg_integration.pod create mode 100644 rt/docs/hacking.pod create mode 100644 rt/docs/network-diagram.svg delete mode 100644 rt/docs/perlcritic.pod delete mode 100644 rt/docs/porting.windows delete mode 100644 rt/docs/queue_subject_tag.pod delete mode 100644 rt/docs/rt3-schema-relationships.dot create mode 100644 rt/docs/schema.dot create mode 100644 rt/docs/security.pod delete mode 100644 rt/docs/templates.pod delete mode 100644 rt/docs/timezones_in_charts.pod delete mode 100644 rt/docs/using_forms_widgets.pod create mode 100644 rt/docs/web_deployment.pod delete mode 100644 rt/etc/RT_Config.pm delete mode 100644 rt/etc/acl.Informix delete mode 100644 rt/etc/acl.Sybase delete mode 100644 rt/etc/constraints.mysql delete mode 100644 rt/etc/drop.Informix delete mode 100644 rt/etc/schema.Informix delete mode 100644 rt/etc/schema.Sybase create mode 100644 rt/etc/schema.mysql delete mode 100755 rt/etc/schema.mysql-4.0 delete mode 100644 rt/etc/upgrade/3.1.0/acl.Informix delete mode 100644 rt/etc/upgrade/3.1.0/schema.Informix delete mode 100644 rt/etc/upgrade/3.3.0/acl.Informix delete mode 100755 rt/etc/upgrade/3.8-branded-queues-extension delete mode 100755 rt/etc/upgrade/3.8-ical-extension create mode 100644 rt/etc/upgrade/3.9.1/content create mode 100644 rt/etc/upgrade/3.9.2/content create mode 100644 rt/etc/upgrade/3.9.3/schema.Oracle create mode 100644 rt/etc/upgrade/3.9.3/schema.Pg create mode 100644 rt/etc/upgrade/3.9.3/schema.mysql create mode 100644 rt/etc/upgrade/3.9.5/backcompat create mode 100644 rt/etc/upgrade/3.9.5/schema.Oracle create mode 100644 rt/etc/upgrade/3.9.5/schema.Pg create mode 100644 rt/etc/upgrade/3.9.5/schema.SQLite create mode 100644 rt/etc/upgrade/3.9.5/schema.mysql create mode 100644 rt/etc/upgrade/3.9.6/schema.Oracle create mode 100644 rt/etc/upgrade/3.9.6/schema.Pg create mode 100644 rt/etc/upgrade/3.9.6/schema.SQLite create mode 100644 rt/etc/upgrade/3.9.6/schema.mysql create mode 100644 rt/etc/upgrade/3.9.7/content create mode 100644 rt/etc/upgrade/3.9.7/schema.Oracle create mode 100644 rt/etc/upgrade/3.9.7/schema.Pg create mode 100644 rt/etc/upgrade/3.9.7/schema.SQLite create mode 100644 rt/etc/upgrade/3.9.7/schema.mysql create mode 100644 rt/etc/upgrade/3.9.8/content create mode 100644 rt/etc/upgrade/3.9.8/schema.Oracle create mode 100644 rt/etc/upgrade/3.9.8/schema.Pg create mode 100644 rt/etc/upgrade/3.9.8/schema.SQLite create mode 100644 rt/etc/upgrade/3.9.8/schema.mysql create mode 100644 rt/etc/upgrade/4.0.0rc2/schema.mysql create mode 100644 rt/etc/upgrade/4.0.0rc4/schema.Oracle create mode 100644 rt/etc/upgrade/4.0.0rc4/schema.Pg create mode 100644 rt/etc/upgrade/4.0.0rc4/schema.mysql create mode 100644 rt/etc/upgrade/4.0.0rc7/content create mode 100644 rt/etc/upgrade/4.0.1/acl.Pg create mode 100644 rt/etc/upgrade/4.0.1/content create mode 100644 rt/etc/upgrade/4.0.3/content create mode 100644 rt/etc/upgrade/4.0.4/content create mode 100644 rt/etc/upgrade/4.0.6/content create mode 100644 rt/etc/upgrade/4.0.6/schema.mysql delete mode 100755 rt/etc/upgrade/generate-rtaddressregexp create mode 100644 rt/etc/upgrade/sanity-check-stylesheets.pl delete mode 100755 rt/etc/upgrade/split-out-cf-categories create mode 100755 rt/etc/upgrade/upgrade-articles create mode 100644 rt/etc/upgrade/upgrade-articles.in delete mode 100755 rt/etc/upgrade/vulnerable-passwords delete mode 100644 rt/lib/RT.pm.in delete mode 100644 rt/lib/RT/ACE_Overlay.pm delete mode 100644 rt/lib/RT/ACL_Overlay.pm delete mode 100755 rt/lib/RT/Action/Generic.pm delete mode 100644 rt/lib/RT/Action/ResolveMembers.pm create mode 100644 rt/lib/RT/Action/SetStatus.pm create mode 100644 rt/lib/RT/Article.pm create mode 100644 rt/lib/RT/Articles.pm delete mode 100644 rt/lib/RT/Attachment_Overlay.pm delete mode 100644 rt/lib/RT/Attachments_Overlay.pm delete mode 100644 rt/lib/RT/Attribute_Overlay.pm delete mode 100644 rt/lib/RT/Attributes_Overlay.pm delete mode 100644 rt/lib/RT/CachedGroupMember_Overlay.pm delete mode 100644 rt/lib/RT/CachedGroupMembers_Overlay.pm create mode 100644 rt/lib/RT/Class.pm create mode 100644 rt/lib/RT/Classes.pm delete mode 100755 rt/lib/RT/Condition/Generic.pm delete mode 100644 rt/lib/RT/CustomFieldValue_Overlay.pm delete mode 100644 rt/lib/RT/CustomFieldValues_Overlay.pm delete mode 100644 rt/lib/RT/CustomField_Overlay.pm delete mode 100644 rt/lib/RT/CustomFields_Overlay.pm create mode 100644 rt/lib/RT/Dashboard/Mailer.pm create mode 100644 rt/lib/RT/Dashboards.pm create mode 100644 rt/lib/RT/Generated.pm create mode 100644 rt/lib/RT/Generated.pm.in delete mode 100644 rt/lib/RT/GroupMember_Overlay.pm delete mode 100644 rt/lib/RT/GroupMembers_Overlay.pm delete mode 100644 rt/lib/RT/Group_Overlay.pm delete mode 100644 rt/lib/RT/Groups_Overlay.pm delete mode 100644 rt/lib/RT/I18N/ar.po delete mode 100644 rt/lib/RT/I18N/bg.po delete mode 100644 rt/lib/RT/I18N/cs.po delete mode 100644 rt/lib/RT/I18N/da.po delete mode 100644 rt/lib/RT/I18N/de.po delete mode 100644 rt/lib/RT/I18N/el.po delete mode 100644 rt/lib/RT/I18N/en.po delete mode 100644 rt/lib/RT/I18N/en_GB.po delete mode 100644 rt/lib/RT/I18N/es.po delete mode 100644 rt/lib/RT/I18N/et.po delete mode 100644 rt/lib/RT/I18N/fi.po delete mode 100644 rt/lib/RT/I18N/fr.po delete mode 100644 rt/lib/RT/I18N/he.po delete mode 100644 rt/lib/RT/I18N/hr.po delete mode 100644 rt/lib/RT/I18N/hu.po delete mode 100644 rt/lib/RT/I18N/id.po delete mode 100644 rt/lib/RT/I18N/is.po delete mode 100644 rt/lib/RT/I18N/it.po delete mode 100644 rt/lib/RT/I18N/ja.po delete mode 100644 rt/lib/RT/I18N/lt.po delete mode 100644 rt/lib/RT/I18N/lv.po delete mode 100644 rt/lib/RT/I18N/mk.po delete mode 100755 rt/lib/RT/I18N/nb.po delete mode 100644 rt/lib/RT/I18N/nl.po delete mode 100644 rt/lib/RT/I18N/nn.po delete mode 100644 rt/lib/RT/I18N/pl.po delete mode 100644 rt/lib/RT/I18N/pt.po delete mode 100755 rt/lib/RT/I18N/pt_BR.po delete mode 100644 rt/lib/RT/I18N/pt_PT.po delete mode 100644 rt/lib/RT/I18N/rt.pot delete mode 100644 rt/lib/RT/I18N/ru.po delete mode 100644 rt/lib/RT/I18N/sl.po delete mode 100644 rt/lib/RT/I18N/sv.po delete mode 100644 rt/lib/RT/I18N/tr.po delete mode 100644 rt/lib/RT/I18N/zh_CN.po delete mode 100644 rt/lib/RT/I18N/zh_TW.po delete mode 100644 rt/lib/RT/Interface/Email/Filter/SpamAssassin.pm delete mode 100644 rt/lib/RT/Interface/Web/Menu/Item.pm delete mode 100755 rt/lib/RT/Interface/Web/Standalone.pm delete mode 100644 rt/lib/RT/Interface/Web/Standalone/PreFork.pm create mode 100644 rt/lib/RT/Lifecycle.pm delete mode 100644 rt/lib/RT/Link_Overlay.pm delete mode 100644 rt/lib/RT/Links_Overlay.pm create mode 100644 rt/lib/RT/ObjectClass.pm create mode 100644 rt/lib/RT/ObjectClasses.pm delete mode 100644 rt/lib/RT/ObjectCustomFieldValue_Overlay.pm delete mode 100644 rt/lib/RT/ObjectCustomFieldValues_Overlay.pm delete mode 100644 rt/lib/RT/ObjectCustomField_Overlay.pm delete mode 100644 rt/lib/RT/ObjectCustomFields_Overlay.pm create mode 100644 rt/lib/RT/ObjectTopic.pm create mode 100644 rt/lib/RT/ObjectTopics.pm delete mode 100644 rt/lib/RT/Principal_Overlay.pm delete mode 100644 rt/lib/RT/Principals_Overlay.pm delete mode 100644 rt/lib/RT/Queue_Overlay.pm delete mode 100644 rt/lib/RT/Queues_Overlay.pm delete mode 100644 rt/lib/RT/ScripAction_Overlay.pm delete mode 100644 rt/lib/RT/ScripActions_Overlay.pm delete mode 100644 rt/lib/RT/ScripCondition_Overlay.pm delete mode 100644 rt/lib/RT/ScripConditions_Overlay.pm delete mode 100644 rt/lib/RT/Scrip_Overlay.pm delete mode 100644 rt/lib/RT/Scrips_Overlay.pm delete mode 100644 rt/lib/RT/Search/Generic.pm create mode 100644 rt/lib/RT/SharedSettings.pm create mode 100644 rt/lib/RT/Squish.pm create mode 100644 rt/lib/RT/Squish/CSS.pm create mode 100644 rt/lib/RT/Squish/JS.pm delete mode 100644 rt/lib/RT/Template_Overlay.pm delete mode 100644 rt/lib/RT/Templates_Overlay.pm create mode 100644 rt/lib/RT/Test/Apache.pm create mode 100644 rt/lib/RT/Test/GnuPG.pm delete mode 100644 rt/lib/RT/Ticket_Overlay.pm delete mode 100644 rt/lib/RT/Tickets_Overlay.pm delete mode 100644 rt/lib/RT/Tickets_Overlay_SQL.pm create mode 100644 rt/lib/RT/Tickets_SQL.pm create mode 100644 rt/lib/RT/Topic.pm create mode 100644 rt/lib/RT/Topics.pm delete mode 100644 rt/lib/RT/Transaction_Overlay.pm delete mode 100644 rt/lib/RT/Transactions_Overlay.pm create mode 100644 rt/lib/RT/URI/a.pm create mode 100644 rt/lib/RT/URI/fsck_com_article.pm delete mode 100644 rt/lib/RT/User_Overlay.pm delete mode 100644 rt/lib/RT/Users_Overlay.pm delete mode 100644 rt/m4/rt_enable_layout.m4 delete mode 100644 rt/m4/rt_expand_var.m4 delete mode 100644 rt/m4/rt_layout.m4 delete mode 100644 rt/m4/rt_subst_expanded_arg.m4 delete mode 100644 rt/sbin/extract-message-catalog delete mode 100644 rt/sbin/factory delete mode 100644 rt/sbin/license_tag delete mode 100644 rt/sbin/merge-rosetta.pl delete mode 100755 rt/sbin/rt-attributes-viewer delete mode 100755 rt/sbin/rt-clean-sessions delete mode 100755 rt/sbin/rt-dump-database delete mode 100755 rt/sbin/rt-dump-database.in create mode 100644 rt/sbin/rt-dump-metadata.in delete mode 100755 rt/sbin/rt-email-dashboards delete mode 100755 rt/sbin/rt-email-digest delete mode 100755 rt/sbin/rt-email-group-admin create mode 100755 rt/sbin/rt-fulltext-indexer create mode 100644 rt/sbin/rt-fulltext-indexer.in create mode 100644 rt/sbin/rt-preferences-viewer.in delete mode 100755 rt/sbin/rt-server create mode 100644 rt/sbin/rt-server.fcgi.in mode change 100644 => 100755 rt/sbin/rt-session-viewer create mode 100755 rt/sbin/rt-setup-fulltext-index create mode 100644 rt/sbin/rt-setup-fulltext-index.in delete mode 100755 rt/sbin/rt-shredder delete mode 100755 rt/sbin/rt-validator create mode 100755 rt/sbin/standalone_httpd create mode 100644 rt/sbin/standalone_httpd.in delete mode 100644 rt/sbin/tweak-template-locstring create mode 100644 rt/share/html/Admin/Articles/Classes/CustomFields.html create mode 100644 rt/share/html/Admin/Articles/Classes/GroupRights.html create mode 100644 rt/share/html/Admin/Articles/Classes/Modify.html create mode 100644 rt/share/html/Admin/Articles/Classes/Objects.html create mode 100644 rt/share/html/Admin/Articles/Classes/Topics.html create mode 100644 rt/share/html/Admin/Articles/Classes/UserRights.html create mode 100644 rt/share/html/Admin/Articles/Classes/index.html create mode 100644 rt/share/html/Admin/Articles/Elements/Topics create mode 100644 rt/share/html/Admin/Articles/index.html delete mode 100644 rt/share/html/Admin/Elements/CustomFieldTabs create mode 100644 rt/share/html/Admin/Elements/EditQueueWatcherGroup create mode 100644 rt/share/html/Admin/Elements/EditRights create mode 100644 rt/share/html/Admin/Elements/EditRightsCategoryTabs delete mode 100755 rt/share/html/Admin/Elements/GlobalCustomFieldTabs delete mode 100755 rt/share/html/Admin/Elements/GroupTabs delete mode 100644 rt/share/html/Admin/Elements/ObjectCustomFields create mode 100644 rt/share/html/Admin/Elements/Portal delete mode 100755 rt/share/html/Admin/Elements/QueueTabs create mode 100644 rt/share/html/Admin/Elements/SelectCustomFieldRenderType delete mode 100755 rt/share/html/Admin/Elements/SystemTabs delete mode 100755 rt/share/html/Admin/Elements/Tabs delete mode 100755 rt/share/html/Admin/Elements/ToolTabs delete mode 100755 rt/share/html/Admin/Elements/UserTabs create mode 100644 rt/share/html/Admin/Global/CustomFields/Class-Article.html create mode 100644 rt/share/html/Admin/Global/Topics.html delete mode 100644 rt/share/html/Admin/Groups/CustomFields.html create mode 100644 rt/share/html/Admin/Tools/Queries.html create mode 100644 rt/share/html/Admin/Tools/Theme.html delete mode 100755 rt/share/html/Approvals/Elements/Tabs create mode 100644 rt/share/html/Articles/Article/Delete.html create mode 100644 rt/share/html/Articles/Article/Display.html create mode 100644 rt/share/html/Articles/Article/Edit.html create mode 100644 rt/share/html/Articles/Article/Elements/EditBasics create mode 100644 rt/share/html/Articles/Article/Elements/EditCustomFields create mode 100644 rt/share/html/Articles/Article/Elements/EditLinks create mode 100644 rt/share/html/Articles/Article/Elements/EditTopics create mode 100644 rt/share/html/Articles/Article/Elements/LinkEntryInstructions create mode 100644 rt/share/html/Articles/Article/Elements/Preformatted create mode 100644 rt/share/html/Articles/Article/Elements/SearchByCustomField create mode 100644 rt/share/html/Articles/Article/Elements/SelectSavedSearches create mode 100644 rt/share/html/Articles/Article/Elements/SelectSearchPrivacy create mode 100644 rt/share/html/Articles/Article/Elements/ShowHistory create mode 100644 rt/share/html/Articles/Article/Elements/ShowLinks create mode 100644 rt/share/html/Articles/Article/Elements/ShowSavedSearches create mode 100644 rt/share/html/Articles/Article/Elements/ShowSearchCriteria create mode 100644 rt/share/html/Articles/Article/Elements/ShowTopics create mode 100644 rt/share/html/Articles/Article/ExtractFromTicket.html create mode 100644 rt/share/html/Articles/Article/ExtractIntoClass.html create mode 100644 rt/share/html/Articles/Article/ExtractIntoTopic.html create mode 100644 rt/share/html/Articles/Article/History.html create mode 100644 rt/share/html/Articles/Article/PreCreate.html create mode 100644 rt/share/html/Articles/Article/Search.html create mode 100644 rt/share/html/Articles/Elements/BeforeMessageBox create mode 100644 rt/share/html/Articles/Elements/CheckSkipCreate create mode 100644 rt/share/html/Articles/Elements/CreateArticle create mode 100644 rt/share/html/Articles/Elements/GotoArticle create mode 100644 rt/share/html/Articles/Elements/IncludeArticle create mode 100644 rt/share/html/Articles/Elements/NewestArticles create mode 100644 rt/share/html/Articles/Elements/QuickSearch create mode 100644 rt/share/html/Articles/Elements/SelectClass create mode 100644 rt/share/html/Articles/Elements/ShowTopic create mode 100644 rt/share/html/Articles/Elements/ShowTopicLink create mode 100644 rt/share/html/Articles/Elements/UpdatedArticles create mode 100644 rt/share/html/Articles/Topics.html create mode 100644 rt/share/html/Articles/index.html create mode 100644 rt/share/html/Callbacks/RTx-Calendar/Elements/Tabs/Privileged delete mode 100644 rt/share/html/Dashboards/Elements/DashboardsForObjects delete mode 100644 rt/share/html/Dashboards/Elements/ShowSubscription delete mode 100755 rt/share/html/Dashboards/Elements/Tabs delete mode 100644 rt/share/html/Download/Tabular/dhandler create mode 100644 rt/share/html/Elements/CSRF delete mode 100644 rt/share/html/Elements/DashboardTabs create mode 100644 rt/share/html/Elements/EditCustomFieldDateTime create mode 100644 rt/share/html/Elements/EditCustomFieldIPAddress create mode 100644 rt/share/html/Elements/EditCustomFieldIPAddressRange create mode 100644 rt/share/html/Elements/Framekiller delete mode 100644 rt/share/html/Elements/Logout create mode 100644 rt/share/html/Elements/QueriesAsComment delete mode 100644 rt/share/html/Elements/QueueSummary create mode 100644 rt/share/html/Elements/QueueSummaryByLifecycle create mode 100644 rt/share/html/Elements/QueueSummaryByStatus create mode 100644 rt/share/html/Elements/RT__Article/ColumnMap create mode 100644 rt/share/html/Elements/RT__Class/ColumnMap create mode 100644 rt/share/html/Elements/RT__Dashboard/ColumnMap create mode 100644 rt/share/html/Elements/SelectIPRelation create mode 100644 rt/share/html/Elements/SelectOwnerAutocomplete create mode 100644 rt/share/html/Elements/SelectOwnerDropdown create mode 100644 rt/share/html/Elements/ServiceFields create mode 100644 rt/share/html/Elements/ShowCustomFieldDateTime create mode 100644 rt/share/html/Elements/ShowReminders create mode 100644 rt/share/html/Elements/WidgetBar create mode 100644 rt/share/html/Helpers/Autocomplete/Groups create mode 100644 rt/share/html/Helpers/Autocomplete/Owners create mode 100644 rt/share/html/Helpers/Autocomplete/Users delete mode 100644 rt/share/html/Helpers/CalPopup.html create mode 100644 rt/share/html/Helpers/TicketHistory create mode 100644 rt/share/html/Helpers/Toggle/ShowRequestor create mode 100644 rt/share/html/NoAuth/Helpers/CustomLogo/dhandler delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckcontextmenu.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckdataprocessor.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckdocumentfragment_gecko.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckdocumentfragment_ie.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckdomrange.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckdomrange_gecko.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckdomrange_ie.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckdomrangeiterator.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckeditingarea.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckelementpath.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckenterkey.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckevents.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckhtmliterator.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckicon.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckiecleanup.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckimagepreloader.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckkeystrokehandler.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckmenublock.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckmenublockpanel.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckmenuitem.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckpanel.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckplugin.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckspecialcombo.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckstyle.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fcktoolbar.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fcktoolbarbreak_gecko.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fcktoolbarbreak_ie.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fcktoolbarbutton.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fcktoolbarbuttonui.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fcktoolbarfontformatcombo.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fcktoolbarfontscombo.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fcktoolbarfontsizecombo.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fcktoolbarpanelbutton.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fcktoolbarspecialcombo.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fcktoolbarstylecombo.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckw3crange.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckxml.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckxml_gecko.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/classes/fckxml_ie.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/commandclasses/fck_othercommands.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/commandclasses/fckblockquotecommand.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/commandclasses/fckcorestylecommand.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/commandclasses/fckfitwindow.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/commandclasses/fckindentcommands.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/commandclasses/fckjustifycommands.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/commandclasses/fcklistcommands.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/commandclasses/fcknamedcommand.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/commandclasses/fckpasteplaintextcommand.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/commandclasses/fckpastewordcommand.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/commandclasses/fckremoveformatcommand.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/commandclasses/fckshowblocks.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/commandclasses/fckspellcheckcommand_gecko.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/commandclasses/fckspellcheckcommand_ie.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/commandclasses/fckstylecommand.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/commandclasses/fcktablecommand.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/commandclasses/fcktextcolorcommand.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/fckconstants.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/fckeditorapi.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/fckjscoreextensions.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/fckscriptloader.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fck.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fck_contextmenu.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fck_gecko.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fck_ie.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fckbrowserinfo.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fckcodeformatter.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fckcommands.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fckconfig.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fckdebug.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fckdebug_empty.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fckdialog.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fckdocumentprocessor.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fckdomtools.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fcklanguagemanager.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fcklisthandler.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fcklistslib.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fckplugins.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fckregexlib.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fckselection.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fckselection_gecko.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fckselection_ie.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fckstyles.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fcktablehandler.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fcktablehandler_gecko.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fcktablehandler_ie.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fcktoolbaritems.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fcktoolbarset.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fcktools.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fcktools_gecko.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fcktools_ie.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fckundo.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fckurlparams.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fckxhtml.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fckxhtml_gecko.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fckxhtml_ie.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/_source/internals/fckxhtmlentities.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/css/behaviors/disablehandles.htc delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/css/behaviors/showtableborders.htc delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/css/fck_editorarea.css delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/css/fck_internal.css delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/css/fck_showtableborders_gecko.css delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/css/images/block_address.png delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/css/images/block_blockquote.png delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/css/images/block_div.png delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/css/images/block_h1.png delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/css/images/block_h2.png delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/css/images/block_h3.png delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/css/images/block_h4.png delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/css/images/block_h5.png delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/css/images/block_h6.png delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/css/images/block_p.png delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/css/images/block_pre.png delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/css/images/fck_anchor.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/css/images/fck_flashlogo.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/css/images/fck_hiddenfield.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/css/images/fck_pagebreak.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/css/images/fck_plugin.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/common/fck_dialog_common.css delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/common/fck_dialog_common.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/common/images/locked.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/common/images/reset.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/common/images/unlocked.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_about.html delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_about/logo_fckeditor.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_about/logo_fredck.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_about/sponsors/spellchecker_net.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_anchor.html delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_button.html delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_checkbox.html delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_colorselector.html delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_div.html delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_docprops.html delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_docprops/fck_document_preview.html delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_flash.html delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_flash/fck_flash.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_flash/fck_flash_preview.html delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_form.html delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_hiddenfield.html delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_image.html delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_image/fck_image.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_image/fck_image_preview.html delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_link.html delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_link/fck_link.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_listprop.html delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_paste.html delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_radiobutton.html delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_replace.html delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_select.html delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_select/fck_select.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_smiley.html delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_source.html delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_specialchar.html delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_spellerpages.html delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_spellerpages/spellerpages/blank.html delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_spellerpages/spellerpages/controlWindow.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_spellerpages/spellerpages/controls.html delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.cfm delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.php delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.pl delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_spellerpages/spellerpages/spellChecker.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_spellerpages/spellerpages/spellchecker.html delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_spellerpages/spellerpages/spellerStyle.css delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_spellerpages/spellerpages/wordWindow.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_table.html delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_tablecell.html delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_template.html delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_template/images/template1.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_template/images/template2.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_template/images/template3.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_textarea.html delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dialog/fck_textfield.html delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dtd/fck_dtd_test.html delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dtd/fck_xhtml10strict.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/dtd/fck_xhtml10transitional.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/fckdebug.html delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/fckdialog.html delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/fckeditor.html delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/fckeditor.original.html delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/anchor.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/arrow_ltr.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/arrow_rtl.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/smiley/msn/angel_smile.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/smiley/msn/angry_smile.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/smiley/msn/broken_heart.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/smiley/msn/cake.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/smiley/msn/confused_smile.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/smiley/msn/cry_smile.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/smiley/msn/devil_smile.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/smiley/msn/embaressed_smile.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/smiley/msn/envelope.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/smiley/msn/heart.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/smiley/msn/kiss.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/smiley/msn/lightbulb.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/smiley/msn/omg_smile.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/smiley/msn/regular_smile.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/smiley/msn/sad_smile.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/smiley/msn/shades_smile.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/smiley/msn/teeth_smile.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/smiley/msn/thumbs_down.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/smiley/msn/thumbs_up.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/smiley/msn/tounge_smile.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/smiley/msn/whatchutalkingabout_smile.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/smiley/msn/wink_smile.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/images/spacer.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/js/fckadobeair.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/js/fckeditorcode_gecko.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/js/fckeditorcode_ie.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/_translationstatus.txt delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/af.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/ar.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/bg.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/bn.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/bs.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/ca.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/cs.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/da.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/de.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/el.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/en-au.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/en-ca.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/en-uk.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/en.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/eo.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/es.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/et.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/eu.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/fa.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/fi.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/fo.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/fr-ca.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/fr.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/gl.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/gu.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/he.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/hi.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/hr.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/hu.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/is.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/it.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/ja.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/km.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/ko.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/lt.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/lv.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/mn.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/ms.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/nb.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/nl.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/no.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/pl.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/pt-br.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/pt.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/ro.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/ru.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/sk.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/sl.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/sr-latn.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/sr.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/sv.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/th.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/tr.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/uk.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/vi.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/zh-cn.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/lang/zh.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/plugins/autogrow/fckplugin.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/plugins/bbcode/_sample/sample.config.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/plugins/bbcode/_sample/sample.html delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/plugins/bbcode/fckplugin.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/plugins/dragresizetable/fckplugin.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/plugins/placeholder/fck_placeholder.html delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/plugins/placeholder/fckplugin.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/plugins/placeholder/lang/de.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/plugins/placeholder/lang/en.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/plugins/placeholder/lang/es.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/plugins/placeholder/lang/fr.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/plugins/placeholder/lang/it.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/plugins/placeholder/lang/pl.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/plugins/placeholder/placeholder.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/plugins/simplecommands/fckplugin.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/plugins/tablecommands/fckplugin.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/_fckviewstrips.html delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/default/fck_dialog.css delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/default/fck_dialog_ie6.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/default/fck_editor.css delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/default/fck_strip.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/default/images/dialog.sides.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/default/images/dialog.sides.png delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/default/images/dialog.sides.rtl.png delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/default/images/sprites.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/default/images/sprites.png delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/default/images/toolbar.arrowright.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/default/images/toolbar.buttonarrow.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/default/images/toolbar.collapse.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/default/images/toolbar.end.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/default/images/toolbar.expand.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/default/images/toolbar.separator.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/default/images/toolbar.start.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/office2003/fck_dialog.css delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/office2003/fck_dialog_ie6.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/office2003/fck_editor.css delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/office2003/fck_strip.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/office2003/images/dialog.sides.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/office2003/images/dialog.sides.png delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/office2003/images/dialog.sides.rtl.png delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/office2003/images/sprites.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/office2003/images/sprites.png delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/office2003/images/toolbar.arrowright.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/office2003/images/toolbar.bg.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/office2003/images/toolbar.buttonarrow.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/office2003/images/toolbar.collapse.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/office2003/images/toolbar.end.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/office2003/images/toolbar.expand.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/office2003/images/toolbar.separator.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/office2003/images/toolbar.start.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/silver/fck_dialog.css delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/silver/fck_dialog_ie6.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/silver/fck_editor.css delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/silver/fck_strip.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/silver/images/dialog.sides.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/silver/images/dialog.sides.png delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/silver/images/dialog.sides.rtl.png delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/silver/images/sprites.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/silver/images/sprites.png delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/silver/images/toolbar.arrowright.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/silver/images/toolbar.buttonarrow.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/silver/images/toolbar.buttonbg.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/silver/images/toolbar.collapse.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/silver/images/toolbar.end.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/silver/images/toolbar.expand.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/silver/images/toolbar.separator.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/skins/silver/images/toolbar.start.gif delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/wsc/ciframe.html delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/wsc/tmpFrameset.html delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/editor/wsc/w.html delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/fckconfig.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/fckeditor.js delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/fckpackager.xml delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/fckstyles.xml delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/fcktemplates.xml delete mode 100644 rt/share/html/NoAuth/RichText/FCKeditor/license.txt create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/LICENSE.html create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/adapters/jquery.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/ckeditor.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/config.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/contents.css create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/images/spacer.gif create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/_languages.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/_translationstatus.txt create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/af.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/ar.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/bg.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/bn.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/bs.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/ca.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/cs.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/cy.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/da.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/de.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/el.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/en-au.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/en-ca.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/en-gb.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/en.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/eo.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/es.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/et.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/eu.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/fa.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/fi.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/fo.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/fr-ca.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/fr.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/gl.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/gu.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/he.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/hi.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/hr.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/hu.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/is.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/it.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/ja.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/km.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/ko.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/lt.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/lv.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/mn.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/ms.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/nb.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/nl.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/no.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/pl.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/pt-br.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/pt.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/ro.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/ru.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/sk.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/sl.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/sr-latn.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/sr.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/sv.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/th.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/tr.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/uk.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/vi.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/zh-cn.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/lang/zh.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/en.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/he.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/about/dialogs/about.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/autogrow/plugin.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/clipboard/dialogs/paste.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/colordialog/dialogs/colordialog.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/dialog/dialogDefinition.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/div/dialogs/div.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/find/dialogs/find.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/flash/dialogs/flash.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/button.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/checkbox.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/form.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/hiddenfield.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/radio.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/select.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/textarea.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/textfield.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/iframedialog/plugin.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/image/dialogs/image.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/link/dialogs/anchor.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/link/dialogs/link.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/liststyle/dialogs/liststyle.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/pastefromword/filter/default.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/pastetext/dialogs/pastetext.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/scayt/dialogs/options.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/scayt/dialogs/toolbar.css create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/smiley/dialogs/smiley.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/dialogs/specialchar.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/styles/styles/default.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/table/dialogs/table.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/tableresize/plugin.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/tabletools/dialogs/tableCell.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/templates/dialogs/templates.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/templates/templates/default.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/dialogs/uicolor.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/en.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/plugin.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/yui/assets/yui.css create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/yui/yui.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/wsc/dialogs/ciframe.html create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/wsc/dialogs/tmpFrameset.html create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/wsc/dialogs/wsc.css create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/plugins/wsc/dialogs/wsc.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/skins/kama/dialog.css create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/skins/kama/editor.css create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/skins/kama/icons.png create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/skins/kama/icons_rtl.png create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/skins/kama/images/dialog_sides.gif create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/skins/kama/images/dialog_sides.png create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/skins/kama/images/dialog_sides_rtl.png create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/skins/kama/images/mini.gif create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/skins/kama/images/noimage.png create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/skins/kama/images/sprites.png create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/skins/kama/images/sprites_ie6.png create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/skins/kama/images/toolbar_start.gif create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/skins/kama/skin.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/skins/kama/templates.css create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/skins/office2003/dialog.css create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/skins/office2003/editor.css create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/skins/office2003/icons.png create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/skins/office2003/icons_rtl.png create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/skins/office2003/images/dialog_sides.gif create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/skins/office2003/images/dialog_sides.png create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/skins/office2003/images/dialog_sides_rtl.png create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/skins/office2003/images/mini.gif create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/skins/office2003/images/noimage.png create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/skins/office2003/images/sprites.png create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/skins/office2003/images/sprites_ie6.png create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/skins/office2003/skin.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/skins/office2003/templates.css create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/skins/v2/dialog.css create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/skins/v2/editor.css create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/skins/v2/icons.png create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/skins/v2/icons_rtl.png create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/skins/v2/images/dialog_sides.gif create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/skins/v2/images/dialog_sides.png create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/skins/v2/images/dialog_sides_rtl.png create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/skins/v2/images/mini.gif create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/skins/v2/images/noimage.png create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/skins/v2/images/sprites.png create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/skins/v2/images/sprites_ie6.png create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/skins/v2/images/toolbar_start.gif create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/skins/v2/skin.js create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/skins/v2/templates.css create mode 100644 rt/share/html/NoAuth/RichText/ckeditor/themes/default/theme.js delete mode 100644 rt/share/html/NoAuth/css/3.4-compat/body.css delete mode 100644 rt/share/html/NoAuth/css/3.4-compat/footer.css delete mode 100644 rt/share/html/NoAuth/css/3.4-compat/forms.css delete mode 100644 rt/share/html/NoAuth/css/3.4-compat/header.css delete mode 100644 rt/share/html/NoAuth/css/3.4-compat/login.css delete mode 100644 rt/share/html/NoAuth/css/3.4-compat/main.css delete mode 100644 rt/share/html/NoAuth/css/3.4-compat/misc.css delete mode 100644 rt/share/html/NoAuth/css/3.4-compat/nav.css delete mode 100644 rt/share/html/NoAuth/css/3.4-compat/quickbar.css delete mode 100644 rt/share/html/NoAuth/css/3.4-compat/ticket.css delete mode 100644 rt/share/html/NoAuth/css/3.4-compat/titlebox.css delete mode 100644 rt/share/html/NoAuth/css/3.4-compat/transactions.css delete mode 100644 rt/share/html/NoAuth/css/3.5-default/approvals.css delete mode 100755 rt/share/html/NoAuth/css/3.5-default/body.css delete mode 100644 rt/share/html/NoAuth/css/3.5-default/footer.css delete mode 100755 rt/share/html/NoAuth/css/3.5-default/forms.css delete mode 100644 rt/share/html/NoAuth/css/3.5-default/header.css delete mode 100644 rt/share/html/NoAuth/css/3.5-default/local.css delete mode 100644 rt/share/html/NoAuth/css/3.5-default/login.css delete mode 100644 rt/share/html/NoAuth/css/3.5-default/logo.css delete mode 100644 rt/share/html/NoAuth/css/3.5-default/main.css delete mode 100755 rt/share/html/NoAuth/css/3.5-default/misc.css delete mode 100644 rt/share/html/NoAuth/css/3.5-default/nav-left.css delete mode 100644 rt/share/html/NoAuth/css/3.5-default/nav.css delete mode 100644 rt/share/html/NoAuth/css/3.5-default/quickbar.css delete mode 100644 rt/share/html/NoAuth/css/3.5-default/ticket-search.css delete mode 100644 rt/share/html/NoAuth/css/3.5-default/ticket.css delete mode 100644 rt/share/html/NoAuth/css/3.5-default/titlebox.css delete mode 100755 rt/share/html/NoAuth/css/3.5-default/transactions.css create mode 100644 rt/share/html/NoAuth/css/aileron/InHeader create mode 100644 rt/share/html/NoAuth/css/aileron/base.css create mode 100644 rt/share/html/NoAuth/css/aileron/boxes.css create mode 100644 rt/share/html/NoAuth/css/aileron/forms.css create mode 100644 rt/share/html/NoAuth/css/aileron/images/dhandler create mode 100644 rt/share/html/NoAuth/css/aileron/layout.css create mode 100644 rt/share/html/NoAuth/css/aileron/login.css create mode 100644 rt/share/html/NoAuth/css/aileron/main.css create mode 100644 rt/share/html/NoAuth/css/aileron/misc.css create mode 100644 rt/share/html/NoAuth/css/aileron/msie.css create mode 100644 rt/share/html/NoAuth/css/aileron/msie6.css create mode 100644 rt/share/html/NoAuth/css/aileron/nav.css create mode 100644 rt/share/html/NoAuth/css/aileron/ticket-lists.css create mode 100644 rt/share/html/NoAuth/css/aileron/ticket-search.css create mode 100644 rt/share/html/NoAuth/css/aileron/ticket.css create mode 100644 rt/share/html/NoAuth/css/ballard/InHeader create mode 100644 rt/share/html/NoAuth/css/ballard/base.css create mode 100644 rt/share/html/NoAuth/css/ballard/boxes.css create mode 100644 rt/share/html/NoAuth/css/ballard/images/dhandler create mode 100644 rt/share/html/NoAuth/css/ballard/layout.css create mode 100644 rt/share/html/NoAuth/css/ballard/main.css create mode 100644 rt/share/html/NoAuth/css/ballard/misc.css create mode 100644 rt/share/html/NoAuth/css/ballard/msie.css create mode 100644 rt/share/html/NoAuth/css/ballard/msie6.css create mode 100644 rt/share/html/NoAuth/css/ballard/nav.css create mode 100644 rt/share/html/NoAuth/css/ballard/ticket-lists.css create mode 100644 rt/share/html/NoAuth/css/ballard/ticket-search.css create mode 100644 rt/share/html/NoAuth/css/ballard/ticket.css create mode 100644 rt/share/html/NoAuth/css/base/admin.css create mode 100644 rt/share/html/NoAuth/css/base/articles.css create mode 100644 rt/share/html/NoAuth/css/base/collection.css create mode 100644 rt/share/html/NoAuth/css/base/farbtastic.css create mode 100644 rt/share/html/NoAuth/css/base/forms.css create mode 100644 rt/share/html/NoAuth/css/base/history-folding.css create mode 100644 rt/share/html/NoAuth/css/base/jquery-ui-timepicker-addon.css create mode 100644 rt/share/html/NoAuth/css/base/jquery-ui.css create mode 100644 rt/share/html/NoAuth/css/base/jquery-ui.custom.modified.css create mode 100644 rt/share/html/NoAuth/css/base/login.css create mode 100644 rt/share/html/NoAuth/css/base/main.css create mode 100644 rt/share/html/NoAuth/css/base/nav.css create mode 100644 rt/share/html/NoAuth/css/base/portlets.css create mode 100644 rt/share/html/NoAuth/css/base/rights-editor.css create mode 100644 rt/share/html/NoAuth/css/base/superfish-navbar.css create mode 100644 rt/share/html/NoAuth/css/base/superfish-vertical.css create mode 100644 rt/share/html/NoAuth/css/base/superfish.css create mode 100644 rt/share/html/NoAuth/css/base/tablesorter.css create mode 100644 rt/share/html/NoAuth/css/base/theme-editor.css create mode 100644 rt/share/html/NoAuth/css/base/ticket-form.css create mode 100644 rt/share/html/NoAuth/css/base/ticket.css create mode 100644 rt/share/html/NoAuth/css/base/tools.css create mode 100644 rt/share/html/NoAuth/css/base/yui-fonts.css create mode 100644 rt/share/html/NoAuth/css/freeside3/InHeader create mode 100644 rt/share/html/NoAuth/css/freeside3/base.css create mode 100644 rt/share/html/NoAuth/css/freeside3/boxes.css create mode 100644 rt/share/html/NoAuth/css/freeside3/forms.css create mode 100644 rt/share/html/NoAuth/css/freeside3/images/dhandler create mode 100644 rt/share/html/NoAuth/css/freeside3/layout.css create mode 100644 rt/share/html/NoAuth/css/freeside3/login.css create mode 100644 rt/share/html/NoAuth/css/freeside3/main.css create mode 100644 rt/share/html/NoAuth/css/freeside3/misc.css create mode 100644 rt/share/html/NoAuth/css/freeside3/msie-pie.css create mode 100644 rt/share/html/NoAuth/css/freeside3/msie.css create mode 100644 rt/share/html/NoAuth/css/freeside3/msie6.css create mode 100644 rt/share/html/NoAuth/css/freeside3/nav.css create mode 100644 rt/share/html/NoAuth/css/freeside3/ticket-lists.css create mode 100644 rt/share/html/NoAuth/css/freeside3/ticket-search.css create mode 100644 rt/share/html/NoAuth/css/freeside3/ticket.css create mode 100644 rt/share/html/NoAuth/css/images/arrow.down.black.png create mode 100644 rt/share/html/NoAuth/css/images/arrows-ffffff.gif create mode 100644 rt/share/html/NoAuth/css/images/arrows-ffffff.png create mode 100644 rt/share/html/NoAuth/css/images/arrows-grey.gif create mode 100644 rt/share/html/NoAuth/css/images/arrows-grey.png create mode 100644 rt/share/html/NoAuth/css/images/shadow.gif create mode 100644 rt/share/html/NoAuth/css/images/shadow.png delete mode 100644 rt/share/html/NoAuth/css/web2/admin.css delete mode 100644 rt/share/html/NoAuth/css/web2/collection.css delete mode 100755 rt/share/html/NoAuth/css/web2/forms.css delete mode 100644 rt/share/html/NoAuth/css/web2/login.css delete mode 100644 rt/share/html/NoAuth/css/web2/portlets.css delete mode 100644 rt/share/html/NoAuth/css/web2/tools.css delete mode 100644 rt/share/html/NoAuth/css/web2/yui-fonts.css create mode 100755 rt/share/html/NoAuth/images/farbtastic/marker.png create mode 100644 rt/share/html/NoAuth/images/farbtastic/mask.png create mode 100644 rt/share/html/NoAuth/images/farbtastic/wheel.png create mode 100755 rt/share/html/NoAuth/images/jquery_ui/ui-anim_basic_16x16.gif create mode 100755 rt/share/html/NoAuth/images/jquery_ui/ui-bg_diagonals-thick_18_b81900_40x40.png create mode 100755 rt/share/html/NoAuth/images/jquery_ui/ui-bg_diagonals-thick_20_666666_40x40.png create mode 100644 rt/share/html/NoAuth/images/jquery_ui/ui-bg_flat_0_aaaaaa_40x100.png create mode 100755 rt/share/html/NoAuth/images/jquery_ui/ui-bg_flat_10_000000_40x100.png create mode 100644 rt/share/html/NoAuth/images/jquery_ui/ui-bg_flat_75_ffffff_40x100.png create mode 100755 rt/share/html/NoAuth/images/jquery_ui/ui-bg_glass_100_f6f6f6_1x400.png create mode 100755 rt/share/html/NoAuth/images/jquery_ui/ui-bg_glass_100_fdf5ce_1x400.png create mode 100644 rt/share/html/NoAuth/images/jquery_ui/ui-bg_glass_55_fbf9ee_1x400.png create mode 100755 rt/share/html/NoAuth/images/jquery_ui/ui-bg_glass_65_ffffff_1x400.png create mode 100644 rt/share/html/NoAuth/images/jquery_ui/ui-bg_glass_75_dadada_1x400.png create mode 100644 rt/share/html/NoAuth/images/jquery_ui/ui-bg_glass_75_e6e6e6_1x400.png create mode 100644 rt/share/html/NoAuth/images/jquery_ui/ui-bg_glass_95_fef1ec_1x400.png create mode 100755 rt/share/html/NoAuth/images/jquery_ui/ui-bg_gloss-wave_35_f6a828_500x100.png create mode 100755 rt/share/html/NoAuth/images/jquery_ui/ui-bg_highlight-soft_100_eeeeee_1x100.png create mode 100644 rt/share/html/NoAuth/images/jquery_ui/ui-bg_highlight-soft_75_cccccc_1x100.png create mode 100755 rt/share/html/NoAuth/images/jquery_ui/ui-bg_highlight-soft_75_ffe45c_1x100.png create mode 100755 rt/share/html/NoAuth/images/jquery_ui/ui-icons_222222_256x240.png create mode 100755 rt/share/html/NoAuth/images/jquery_ui/ui-icons_228ef1_256x240.png create mode 100644 rt/share/html/NoAuth/images/jquery_ui/ui-icons_2e83ff_256x240.png create mode 100644 rt/share/html/NoAuth/images/jquery_ui/ui-icons_4488cc_256x240.png create mode 100644 rt/share/html/NoAuth/images/jquery_ui/ui-icons_454545_256x240.png create mode 100644 rt/share/html/NoAuth/images/jquery_ui/ui-icons_888888_256x240.png create mode 100644 rt/share/html/NoAuth/images/jquery_ui/ui-icons_cd0a0a_256x240.png create mode 100755 rt/share/html/NoAuth/images/jquery_ui/ui-icons_ef8c08_256x240.png create mode 100755 rt/share/html/NoAuth/images/jquery_ui/ui-icons_ffd27a_256x240.png create mode 100755 rt/share/html/NoAuth/images/jquery_ui/ui-icons_ffffff_256x240.png create mode 100644 rt/share/html/NoAuth/images/tablesorter/asc.gif create mode 100644 rt/share/html/NoAuth/images/tablesorter/bg.gif create mode 100644 rt/share/html/NoAuth/images/tablesorter/desc.gif delete mode 100644 rt/share/html/NoAuth/js/IE7/IE7.js delete mode 100644 rt/share/html/NoAuth/js/IE7/IE8.js delete mode 100644 rt/share/html/NoAuth/js/IE7/ie7-recalc.js delete mode 100644 rt/share/html/NoAuth/js/IE7/ie7-squish.js delete mode 100644 rt/share/html/NoAuth/js/ahah.js create mode 100644 rt/share/html/NoAuth/js/dhandler create mode 100644 rt/share/html/NoAuth/js/farbtastic.js create mode 100644 rt/share/html/NoAuth/js/history-folding.js create mode 100644 rt/share/html/NoAuth/js/jquery-1.4.2.min.js create mode 100644 rt/share/html/NoAuth/js/jquery-ui-1.8.4.custom.min.js create mode 100644 rt/share/html/NoAuth/js/jquery-ui-patch-datepicker.js create mode 100644 rt/share/html/NoAuth/js/jquery-ui-timepicker-addon.js create mode 100644 rt/share/html/NoAuth/js/jquery.event.hover-1.0.js create mode 100644 rt/share/html/NoAuth/js/jquery.supposition.js create mode 100644 rt/share/html/NoAuth/js/jquery.tablesorter.min.js create mode 100644 rt/share/html/NoAuth/js/jquery_noconflict.js create mode 100644 rt/share/html/NoAuth/js/late.js delete mode 100644 rt/share/html/NoAuth/js/prototype/prototype.js delete mode 100644 rt/share/html/NoAuth/js/scriptaculous/controls.js delete mode 100644 rt/share/html/NoAuth/js/scriptaculous/effects.js delete mode 100644 rt/share/html/NoAuth/js/scriptaculous/scriptaculous.js create mode 100644 rt/share/html/NoAuth/js/superfish.js create mode 100644 rt/share/html/NoAuth/js/supersubs.js create mode 100644 rt/share/html/NoAuth/js/userautocomplete.js delete mode 100644 rt/share/html/Prefs/Elements/Tabs create mode 100644 rt/share/html/Search/Article.html create mode 100644 rt/share/html/Search/Elements/Article create mode 100644 rt/share/html/Search/Elements/EditSort create mode 100644 rt/share/html/Search/Elements/PickCustomerFields create mode 100644 rt/share/html/SelfService/Article/Display.html create mode 100644 rt/share/html/SelfService/Article/Search.html create mode 100644 rt/share/html/SelfService/Article/autohandler create mode 100644 rt/share/html/SelfService/Elements/SearchArticle delete mode 100755 rt/share/html/SelfService/Elements/Tabs create mode 100644 rt/share/html/Ticket/Elements/AddAttachments create mode 100644 rt/share/html/Ticket/Elements/ClickToShowHistory create mode 100644 rt/share/html/Ticket/Elements/FindTransactions create mode 100644 rt/share/html/Ticket/Elements/FoldStanzaJS create mode 100644 rt/share/html/Ticket/Elements/ShowRequestorExtraInfo create mode 100644 rt/share/html/Ticket/Elements/ShowRequestorTickets create mode 100644 rt/share/html/Ticket/Elements/ShowRequestorTicketsActive create mode 100644 rt/share/html/Ticket/Elements/ShowRequestorTicketsAll create mode 100644 rt/share/html/Ticket/Elements/ShowRequestorTicketsInactive create mode 100644 rt/share/html/Ticket/Elements/ShowSimplifiedRecipients create mode 100644 rt/share/html/Ticket/autohandler delete mode 100644 rt/share/html/Tools/Elements/Tabs create mode 100644 rt/share/html/Tools/MyReminders.html delete mode 100644 rt/share/html/Tools/Reports/CreatedByDates.html delete mode 100644 rt/share/html/Tools/Reports/Elements/Tabs delete mode 100644 rt/share/html/Tools/Reports/ResolvedByDates.html delete mode 100644 rt/share/html/Tools/Reports/ResolvedByOwner.html delete mode 100644 rt/share/html/Tools/Reports/index.html delete mode 100755 rt/share/html/User/Delegation.html delete mode 100755 rt/share/html/User/Elements/DelegateRights delete mode 100755 rt/share/html/User/Elements/GroupTabs delete mode 100755 rt/share/html/User/Elements/Tabs delete mode 100755 rt/share/html/User/Groups/Members.html delete mode 100755 rt/share/html/User/Groups/Modify.html delete mode 100755 rt/share/html/User/Groups/index.html create mode 100644 rt/share/html/l_unsafe create mode 100644 rt/share/html/m/ticket/autohandler create mode 100644 rt/share/po/bg.po create mode 100644 rt/share/po/cs.po create mode 100644 rt/share/po/da.po create mode 100644 rt/share/po/de.po create mode 100644 rt/share/po/el.po create mode 100644 rt/share/po/en.po create mode 100644 rt/share/po/en_GB.po create mode 100644 rt/share/po/es.po create mode 100644 rt/share/po/et.po create mode 100644 rt/share/po/fi.po create mode 100644 rt/share/po/fr.po create mode 100644 rt/share/po/he.po create mode 100644 rt/share/po/hr.po create mode 100644 rt/share/po/hu.po create mode 100644 rt/share/po/id.po create mode 100644 rt/share/po/is.po create mode 100644 rt/share/po/it.po create mode 100644 rt/share/po/ja.po create mode 100644 rt/share/po/lt.po create mode 100644 rt/share/po/lv.po create mode 100644 rt/share/po/mk.po create mode 100644 rt/share/po/nb.po create mode 100644 rt/share/po/nl.po create mode 100644 rt/share/po/nn.po create mode 100644 rt/share/po/pl.po create mode 100644 rt/share/po/pt.po create mode 100644 rt/share/po/pt_BR.po create mode 100644 rt/share/po/pt_PT.po create mode 100644 rt/share/po/rt.pot create mode 100644 rt/share/po/ru.po create mode 100644 rt/share/po/sl.po create mode 100644 rt/share/po/sv.po create mode 100644 rt/share/po/tr.po create mode 100644 rt/share/po/zh_CN.po create mode 100644 rt/share/po/zh_TW.po delete mode 100644 rt/t/api/ace.t create mode 100644 rt/t/api/bookmarks.t create mode 100644 rt/t/api/canonical_charset.t delete mode 100644 rt/t/api/cf.t delete mode 100644 rt/t/api/cf_combo_casacade.t delete mode 100644 rt/t/api/cf_external.t delete mode 100644 rt/t/api/cf_pattern.t create mode 100644 rt/t/api/cf_render_type.t delete mode 100644 rt/t/api/cf_single_values.t delete mode 100644 rt/t/api/cf_transaction.t create mode 100644 rt/t/api/config.t create mode 100644 rt/t/api/cron.t create mode 100644 rt/t/api/execute-code.t create mode 100644 rt/t/api/group-rights.t create mode 100644 rt/t/api/has_rights.t create mode 100644 rt/t/api/i18n_guess.t create mode 100644 rt/t/api/report_tickets.t create mode 100644 rt/t/api/rtname.t create mode 100644 rt/t/api/safe-run-child-util.t create mode 100644 rt/t/api/savedsearch.t create mode 100644 rt/t/api/squish.t delete mode 100644 rt/t/api/template-insert.t create mode 100644 rt/t/api/versions_sorter.t create mode 100644 rt/t/api/web-config.t create mode 100644 rt/t/articles/article.t create mode 100644 rt/t/articles/articles.t create mode 100644 rt/t/articles/basic-api.t create mode 100644 rt/t/articles/cfsearch.t create mode 100644 rt/t/articles/class.t create mode 100644 rt/t/articles/interface.t create mode 100644 rt/t/articles/queue-specific-class.t create mode 100644 rt/t/articles/search-interface.t create mode 100644 rt/t/articles/upload-customfields.t create mode 100644 rt/t/articles/uri-a.t create mode 100644 rt/t/articles/uri-articles.t delete mode 100644 rt/t/clicky.t delete mode 100644 rt/t/cron.t create mode 100644 rt/t/customfields/api.t create mode 100644 rt/t/customfields/combo_cascade.t create mode 100644 rt/t/customfields/date_search.t create mode 100644 rt/t/customfields/datetime_search.t create mode 100644 rt/t/customfields/external.t create mode 100644 rt/t/customfields/ip.t create mode 100644 rt/t/customfields/iprange.t create mode 100644 rt/t/customfields/iprangev6.t create mode 100644 rt/t/customfields/ipv6.t create mode 100644 rt/t/customfields/pattern.t create mode 100644 rt/t/customfields/single_values.t create mode 100644 rt/t/customfields/transaction.t delete mode 100644 rt/t/data/configs/apache2.2+fastcgi.conf delete mode 100644 rt/t/data/configs/apache2.2+mod_perl.conf create mode 100644 rt/t/data/configs/passwords delete mode 100644 rt/t/delegation/cleanup_stalled.t delete mode 100644 rt/t/delegation/revocation.t create mode 100644 rt/t/fts/indexed_mysql.t create mode 100644 rt/t/fts/indexed_oracle.t create mode 100644 rt/t/fts/indexed_pg.t create mode 100644 rt/t/fts/not_indexed.t create mode 100644 rt/t/i18n/caching.t create mode 100644 rt/t/i18n/footer.t create mode 100644 rt/t/lifecycles/basics.t create mode 100644 rt/t/lifecycles/dates.t create mode 100644 rt/t/lifecycles/moving.t create mode 100644 rt/t/lifecycles/unresolved-deps.t create mode 100644 rt/t/lifecycles/utils.pl create mode 100644 rt/t/mail/bounce.t create mode 100644 rt/t/mail/dashboard-chart-with-utf8.t create mode 100644 rt/t/mail/dashboards.t create mode 100644 rt/t/mail/digest-attributes.t create mode 100644 rt/t/mail/disposition-outgoing.t create mode 100644 rt/t/mail/fake-sendmail create mode 100644 rt/t/mail/gnupg-outgoing-encrypted.t create mode 100644 rt/t/mail/gnupg-outgoing-plain.t create mode 100644 rt/t/mail/gnupg-outgoing-signed.t create mode 100644 rt/t/mail/gnupg-outgoing-signed_encrypted.t create mode 100644 rt/t/mail/one-time-recipients.t create mode 100644 rt/t/mail/rfc2231-attachment.t create mode 100644 rt/t/mail/rfc822-attachment.t create mode 100644 rt/t/mail/specials-in-encodedwords.t create mode 100644 rt/t/mail/threading.t delete mode 100644 rt/t/maildigest/attributes.t delete mode 100644 rt/t/rtname.t delete mode 100644 rt/t/savedsearch.t create mode 100644 rt/t/ticket/clicky.t create mode 100644 rt/t/ticket/googleish_search.t delete mode 100644 rt/t/ticket/quicksearch.t create mode 100644 rt/t/web/admin_groups.t create mode 100644 rt/t/web/admin_user.t create mode 100644 rt/t/web/articles-links.t create mode 100644 rt/t/web/attachment-with-name-0.t create mode 100644 rt/t/web/case-sensitivity.t create mode 100644 rt/t/web/cf_date.t create mode 100644 rt/t/web/cf_datetime.t create mode 100644 rt/t/web/cf_render_type.t create mode 100644 rt/t/web/class_create.t create mode 100644 rt/t/web/clickjacking-preventions.t create mode 100644 rt/t/web/command_line_link_to_articles.t create mode 100644 rt/t/web/csrf-rest.t create mode 100644 rt/t/web/csrf.t delete mode 100644 rt/t/web/dashboard_with_deleted_saved_search.t create mode 100644 rt/t/web/dashboards-basics.t create mode 100644 rt/t/web/dashboards-deleted-saved-search.t create mode 100644 rt/t/web/dashboards-search-cache.t delete mode 100644 rt/t/web/dashboards.t create mode 100644 rt/t/web/gnupg-headers.t delete mode 100644 rt/t/web/gnupg-outgoing.t create mode 100644 rt/t/web/gnupg-tickyboxes.t create mode 100644 rt/t/web/googleish_search.t create mode 100644 rt/t/web/group_create.t create mode 100644 rt/t/web/html/Callbacks/logout.t/NoAuth/Logout.html/Default create mode 100644 rt/t/web/html/NoAuth/js/not-by-default.js create mode 100644 rt/t/web/html/delete-article-name-method.html create mode 100644 rt/t/web/installer.t create mode 100644 rt/t/web/logout.t create mode 100644 rt/t/web/offline.t create mode 100644 rt/t/web/owner_disabled_group_19221.t create mode 100644 rt/t/web/passthrough-jsmin create mode 100644 rt/t/web/query_builder_queue_limits.t create mode 100644 rt/t/web/query_log.t create mode 100644 rt/t/web/queue_caching.t create mode 100644 rt/t/web/queue_create.t create mode 100644 rt/t/web/quickcreate.t create mode 100644 rt/t/web/redirect.t create mode 100644 rt/t/web/reminders.t create mode 100644 rt/t/web/remote_user.t create mode 100644 rt/t/web/requestor_groups_edit_link.t create mode 100644 rt/t/web/requestor_groups_limit.t create mode 100644 rt/t/web/rest-sort.t create mode 100644 rt/t/web/rest_cfs_with_same_name.t create mode 100644 rt/t/web/saved_search_context.t create mode 100644 rt/t/web/scrips.t create mode 100644 rt/t/web/scrub.t create mode 100644 rt/t/web/search_cf_quotes.t create mode 100644 rt/t/web/search_simple.t create mode 100644 rt/t/web/search_tabs.t create mode 100644 rt/t/web/self_service.t create mode 100644 rt/t/web/squish.t create mode 100644 rt/t/web/template.t create mode 100644 rt/t/web/ticket_display.t create mode 100644 rt/t/web/ticket_forward.t create mode 100644 rt/t/web/ticket_links.t create mode 100644 rt/t/web/ticket_modify_all.t create mode 100644 rt/t/web/ticket_modify_people.t create mode 100644 rt/t/web/ticket_owner_autocomplete.t create mode 100644 rt/t/web/ticket_owner_issues_16656.t create mode 100644 rt/t/web/transaction_batch.t create mode 100644 rt/t/web/user_update.t create mode 100644 rt/t/web/walk.t (limited to 'rt') diff --git a/rt/.perlcriticrc b/rt/.perlcriticrc index bcb3507c8..9cf8f633f 100644 --- a/rt/.perlcriticrc +++ b/rt/.perlcriticrc @@ -1,45 +1,6 @@ -# space separated list of strings to regex match against rules -exclude = Modules::RequireFilenameMatchesPackage Subroutines::ProhibitExplicitReturnUndef Subroutines::RequireArgUnpacking - -# [Modules::RequireFilenameMatchesPackage] -# versions up to RT 3.8 use _Overlay files to separate generated code -# from core code, as such there are a lot of needless warnings about -# this. These were removed in 4.0 so skipping this will not be required -# -# [Subroutines::ProhibitExplicitReturnUndef] -# RT is documented to return undef in a number of places, and on a -# stable series I'm hesitant to go around changing to implicitly return -# undef. We can clean this up in 4.0 and ensure that if something -# calling us in list context really needs that explicit undef, it -# doesn't break on a minor release upgrade. -# -# [Subroutines::RequireArgUnpacking] -# RT is a big user of my $self = shift; and will continue doing so -# - -# 3.8 hasn't converted to using RT->SystemUser and the like and still reaches -# for RT:: in a lot of places. Quiet that down with what seems like a slightly -# larger hammer than I would like. -# -# Eliminate globals declared with `our' or `use vars'. -[Variables::ProhibitPackageVars] -# set_themes = core maintenance pbp -# add_themes = -# severity = 3 -# maximum_violations_per_document = no_limit - -# The base set of packages to allow variables for. -# packages = Data::Dumper File::Find FindBin Log::Log4perl - -# The set of packages to allow variables for, in addition to those given in "packages". -add_packages = RT - -# Write `eval { my $foo; bar($foo) }' instead of `eval "my $foo; bar($foo);"'. -[BuiltinFunctions::ProhibitStringyEval] -# set_themes = bugs core pbp -# add_themes = -# severity = 5 -# maximum_violations_per_document = no_limit - -# Allow eval of "use" and "require" strings. -allow_includes = 1 +# This perlcritic policy file isn't to be taken as gospel. It's just a start +# As of now, it's mostly about disabling policies we're not able to follow or +# strongly disagree with +exclude = Subroutines::ProhibitExplicitReturnUndef Modules::RequireFilenameMatchesPackage TestingAndDebugging::ProhibitNoStrict +color = 1 +verbose = 7 diff --git a/rt/FREESIDE_MODIFIED b/rt/FREESIDE_MODIFIED index 1cb17d64e..315d6b200 100644 --- a/rt/FREESIDE_MODIFIED +++ b/rt/FREESIDE_MODIFIED @@ -8,10 +8,9 @@ config.layout.in etc/schema.mysql-4.1 etc/initialdata -lib/RT/Attribute_Overlay.pm #bugfix +lib/RT/Attribute.pm #bugfix lib/RT/Config.pm -lib/RT/CustomField.pm #reverted -lib/RT/CustomField_Overlay.pm #customfield date patch #timeworked custom fields +lib/RT/CustomField.pm #customfield date patch #timeworked custom fields lib/RT/CustomField_Vendor.pm #mandatory fields lib/RT/Interface/Web.pm #customfield date patch #fix transaction custom fields @@ -19,7 +18,7 @@ lib/RT/Interface/Web.pm #customfield date patch #fix MaybeRejectPrivateComponentRequest for RTx::Statistics lib/RT/Action.pm #create ticket on custom field change lib/RT/Condition.pm #create ticket on custom field change -lib/RT/Scrip_Overlay.pm #create ticket on custom field change +lib/RT/Scrip.pm #create ticket on custom field change lib/RT/Action/Accumulate.pm #timeworked custom fields lib/RT/Action/CreateTickets.pm #create ticket on custom field change lib/RT/Action/EscalatePriority.pm #ticket escalation @@ -35,12 +34,13 @@ lib/RT/Interface/Web_Vendor.pm #willresolve lib/RT/SavedSearches_Local.pm #saved searches lib/RT/Search/Googleish.pm #option to include resolved tickets lib/RT/SearchBuilder.pm #need DBIx::SearchBuilder >= 1.36 for Pg 8.1+ -lib/RT/Transaction_Overlay.pm #fix transaction custom fields -lib/RT/Tickets_Overlay.pm #customfield date patch #SearchCustomerFields #this-month condition #willresolve - lib/RT/Ticket_Overlay.pm #fix transaction custom fields +lib/RT/Transaction.pm #fix transaction custom fields +lib/RT/Tickets.pm #customfield date patch #SearchCustomerFields #this-month condition #willresolve + lib/RT/Ticket.pm #fix transaction custom fields lib/RT/Ticket_Vendor.pm #bulk increment priority #mandatory fields #willresolve - lib/RT/Users_Overlay.pm - lib/RT/Groups_Overlay.pm +lib/RT/User.pm + lib/RT/Users.pm + lib/RT/Groups.pm lib/RT/Date.pm #this-month condition lib/RT/Queue_Local.pm #fix saved settings when renaming queues lib/RT/URI/freeside.pm @@ -48,12 +48,11 @@ lib/RT/URI/freeside/Internal.pm lib/RT/URI/freeside/XMLRPC.pm +#(incorporated in 4, right?) # 3.9-fix-queue-caching bugfix branch # github.com/bestpractical/rt/commit/7e211c1199836d49f007d7f677105e5c73cc0348 Makefile.in configure.ac -lib/RT/Principal_Overlay.pm -lib/RT/Queue_Overlay.pm lib/RT/System.pm lib/RT/Test.pm lib/RT/Interface/Web.pm @@ -119,6 +118,7 @@ share/html/NoAuth/css/freeside2.1/freeside.css share/html/NoAuth/css/freeside2.1/nav.css share/html/NoAuth/css/freeside2.1/base.css share/html/NoAuth/css/freeside2.1/layout.css +share/html/NoAuth/css/freeside3/ (based on aileron now) share/html/Elements/AddCustomers share/html/Elements/EditCustomers diff --git a/rt/Makefile b/rt/Makefile deleted file mode 100644 index 84c1f87de..000000000 --- a/rt/Makefile +++ /dev/null @@ -1,536 +0,0 @@ -# BEGIN BPS TAGGED BLOCK {{{ -# -# COPYRIGHT: -# -# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC -# -# -# (Except where explicitly superseded by other copyright notices) -# -# -# 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 Street, Fifth Floor, Boston, MA -# 02110-1301 or visit their web page on the internet at -# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. -# -# -# CONTRIBUTION SUBMISSION POLICY: -# -# (The following paragraph is not intended to limit the rights granted -# to you to modify and distribute this software under the terms of -# the GNU General Public License and is only of importance to you if -# you choose to contribute your changes and enhancements to the -# community by submitting them to Best Practical Solutions, LLC.) -# -# By intentionally submitting any modifications, corrections or -# derivatives to this work, or any other work intended for use with -# Request Tracker, to Best Practical Solutions, LLC, you confirm that -# you are the copyright holder for those contributions and you grant -# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, -# royalty-free, perpetual, license to use, copy, create derivative -# works based on those contributions, and sublicense and distribute -# those contributions and any derivatives thereof. -# -# END BPS TAGGED BLOCK }}} -# -# DO NOT HAND-EDIT the file named 'Makefile'. This file is autogenerated. -# Have a look at "configure" and "Makefile.in" instead -# - - -PERL = /usr/bin/perl -INSTALL = /usr/bin/install -c - -RT_LAYOUT = Freeside - -CONFIG_FILE_PATH = /opt/rt3/etc -CONFIG_FILE = $(CONFIG_FILE_PATH)/RT_Config.pm -SITE_CONFIG_FILE = $(CONFIG_FILE_PATH)/RT_SiteConfig.pm - - -RT_VERSION_MAJOR = 3 -RT_VERSION_MINOR = 8 -RT_VERSION_PATCH = 11 - -RT_VERSION = $(RT_VERSION_MAJOR).$(RT_VERSION_MINOR).$(RT_VERSION_PATCH) -TAG = rt-$(RT_VERSION_MAJOR)-$(RT_VERSION_MINOR)-$(RT_VERSION_PATCH) - - -# This is the group that all of the installed files will be chgrp'ed to. -RTGROUP = freeside - - -# User which should own rt binaries. -BIN_OWNER = root - -# User that should own all of RT's libraries, generally root. -LIBS_OWNER = root - -# Group that should own all of RT's libraries, generally root. -LIBS_GROUP = bin - -WEB_USER = freeside -WEB_GROUP = freeside - - -APACHECTL = - -# {{{ Files and directories - -# DESTDIR allows you to specify that RT be installed somewhere other than -# where it will eventually reside. DESTDIR _must_ have a trailing slash -# if it's defined. - -DESTDIR = - - - -RT_PATH = /opt/rt3 -RT_ETC_PATH = /opt/rt3/etc -RT_BIN_PATH = /opt/rt3/bin -RT_SBIN_PATH = /opt/rt3/sbin -RT_LIB_PATH = /opt/rt3/lib -RT_MAN_PATH = /opt/rt3/man -RT_VAR_PATH = /opt/rt3/var -RT_DOC_PATH = /opt/rt3/share/doc -RT_FONT_PATH = /opt/rt3/share/fonts -RT_LOCAL_PATH = /opt/rt3/local -LOCAL_PLUGIN_PATH = /opt/rt3/local/plugins -LOCAL_ETC_PATH = /opt/rt3/local/etc -LOCAL_LIB_PATH = /opt/rt3/local/lib -LOCAL_LEXICON_PATH = /opt/rt3/local/po -MASON_HTML_PATH = /var/www/freeside/rt -MASON_LOCAL_HTML_PATH = /opt/rt3/local/html -MASON_DATA_PATH = /usr/local/etc/freeside/masondata -MASON_SESSION_PATH = /opt/rt3/var/session_data -RT_LOG_PATH = /opt/rt3/var/log - -# RT_READABLE_DIR_MODE is the mode of directories that are generally meant -# to be accessable -RT_READABLE_DIR_MODE = 0755 - - - - -# {{{ all these define the places that RT's binaries should get installed - -# RT_MODPERL_HANDLER is the mason handler script for mod_perl -RT_MODPERL_HANDLER = webmux.pl -# RT_STANDALONE_SERVER is a stand-alone HTTP server -RT_STANDALONE_SERVER = standalone_httpd -# RT_SPEEDYCGI_HANDLER is the mason handler script for SpeedyCGI -RT_SPEEDYCGI_HANDLER = mason_handler.scgi -# RT_FASTCGI_HANDLER is the mason handler script for FastCGI -RT_FASTCGI_HANDLER = mason_handler.fcgi -# RT_FASTCGI_SERVER is the FastCGI server -RT_FASTCGI_SERVER = fastcgi_server -# RT_WIN32_FASTCGI_HANDLER is the mason handler script for FastCGI -RT_WIN32_FASTCGI_HANDLER = mason_handler.svc -# RT's CLI -RT_CLI_BIN = rt -# RT's mail gateway -RT_MAILGATE_BIN = rt-mailgate -# RT's cron tool -RT_CRON_BIN = rt-crontool - -# }}} - - -BINARIES = $(RT_MODPERL_HANDLER) \ - $(RT_MAILGATE_BIN) \ - $(RT_CLI_BIN) \ - $(RT_CRON_BIN) \ - $(RT_STANDALONE_SERVER) \ - $(RT_SPEEDYCGI_HANDLER) \ - $(RT_FASTCGI_HANDLER) \ - $(RT_FASTCGI_SERVER) \ - $(RT_WIN32_FASTCGI_HANDLER) - - - - - -SYSTEM_BINARIES = rt-attributes-viewer \ - rt-dump-database \ - rt-setup-database \ - rt-email-digest \ - rt-email-dashboards \ - rt-email-group-admin \ - rt-server \ - rt-session-viewer \ - rt-test-dependencies \ - rt-clean-sessions \ - rt-shredder \ - rt-validator - - -ETC_FILES = acl.Informix \ - acl.Pg \ - acl.Oracle \ - acl.mysql \ - acl.Sybase \ - schema.Informix \ - schema.Pg \ - schema.Oracle \ - schema.mysql-4.0 \ - schema.mysql-4.1 \ - schema.Sybase \ - schema.SQLite \ - initialdata - -# }}} - -# {{{ Web frontend - -WEB_HANDLER = modperl2 - -# }}} - -# {{{ Database setup - -# -# DB_TYPE defines what sort of database RT trys to talk to -# "mysql" is known to work. -# "Pg" is known to work -# "Informix" is known to work - -DB_TYPE = Pg - -# Set DBA to the name of a unix account with the proper permissions and -# environment to run your commandline SQL sbin - -# Set DB_DBA to the name of a DB user with permission to create new databases - -# For mysql, you probably want 'root' -# For Pg, you probably want 'postgres' -# For Oracle, you want 'system' -# For Informix, you want 'informix' - -DB_DBA = freeside - -DB_HOST = localhost - -# If you're not running your database server on its default port, -# specifiy the port the database server is running on below. -# It's generally safe to leave this blank - -DB_PORT = - - - - -# -# Set this to the canonical name of the interface RT will be talking to the -# database on. If you said that the RT_DB_HOST above was "localhost," this -# should be too. This value will be used to grant rt access to the database. -# If you want to access the RT database from multiple hosts, you'll need -# to grant those database rights by hand. -# - -DB_RT_HOST = localhost - -# set this to the name you want to give to the RT database in -# your database server. For Oracle, this should be the name of your sid - -DB_DATABASE = freeside -DB_RT_USER = freeside -DB_RT_PASS = - -# }}} - - -TEST_FILES = t/*.t t/*/*.t -TEST_VERBOSE = 0 - - -#################################################################### - -all: default - -default: - @echo "Please read RT's README before beginning your installation." - - - -instruct: - @echo "Congratulations. RT is now installed." - @echo "" - @echo "" - @echo "You must now configure RT by editing $(SITE_CONFIG_FILE)." - @echo "" - @echo "(You will definitely need to set RT's database password in " - @echo "$(SITE_CONFIG_FILE) before continuing. Not doing so could be " - @echo "very dangerous. Note that you do not have to manually add a " - @echo "database user or set up a database for RT. These actions will be " - @echo "taken care of in the next step.)" - @echo "" - @echo "After that, you need to initialize RT's database by running" - @echo " 'make initialize-database'" - - -upgrade-instruct: - @echo "Congratulations. RT has been upgraded. You should now check over" - @echo "$(CONFIG_FILE) for any necessary site customization. Additionally," - @echo "you should update RT's system database objects by running " - @echo " $(RT_SBIN_PATH)/rt-setup-database --dba $(DB_DBA) --prompt-for-dba-password --action upgrade" - - -upgrade: testdeps config-install dirs files-install fixperms upgrade-instruct - -upgrade-noclobber: config-install dirs libs-install html-install bin-install local-install doc-install font-install fixperms - - -# {{{ dependencies - -my_with_web_handlers= $(shell $(PERL) -e 'print join " ", map "--with-$$_", grep defined && length, split /,/, "$(WEB_HANDLER)"') -testdeps: - $(PERL) ./sbin/rt-test-dependencies --verbose --with-$(DB_TYPE) $(my_with_web_handlers) - -depends: fixdeps - -fixdeps: - $(PERL) ./sbin/rt-test-dependencies --verbose --install --with-$(DB_TYPE) $(my_with_web_handlers) - -#}}} - -# {{{ fixperms -fixperms: - # Make the libraries readable - chmod $(RT_READABLE_DIR_MODE) $(DESTDIR)$(RT_PATH) - chown -R $(LIBS_OWNER) $(DESTDIR)$(RT_LIB_PATH) - chgrp -R $(LIBS_GROUP) $(DESTDIR)$(RT_LIB_PATH) - chmod -R u+rwX,go-w,go+rX $(DESTDIR)$(RT_LIB_PATH) - - - chmod $(RT_READABLE_DIR_MODE) $(DESTDIR)$(RT_BIN_PATH) - - chmod 0755 $(DESTDIR)$(RT_ETC_PATH) - cd $(DESTDIR)$(RT_ETC_PATH) && chmod 0400 $(ETC_FILES) || true - - #TODO: the config file should probably be able to have its - # owner set separately from the binaries. - chown -R $(BIN_OWNER) $(DESTDIR)$(RT_ETC_PATH) - chgrp -R $(RTGROUP) $(DESTDIR)$(RT_ETC_PATH) - - chmod 0440 $(DESTDIR)$(CONFIG_FILE) - chmod 0640 $(DESTDIR)$(SITE_CONFIG_FILE) - # Make this externally readable - chmod 0440 $(DESTDIR)$(RT_ETC_PATH)/initialdata - - # Make the system binaries - cd $(DESTDIR)$(RT_BIN_PATH) && ( chmod 0755 $(BINARIES) ; chown $(BIN_OWNER) $(BINARIES); chgrp $(RTGROUP) $(BINARIES)) - - # Make the system binaries executable also - cd $(DESTDIR)$(RT_SBIN_PATH) && ( chmod 0755 $(SYSTEM_BINARIES) ; chown $(BIN_OWNER) $(SYSTEM_BINARIES); chgrp $(RTGROUP) $(SYSTEM_BINARIES)) - - # Make the web ui readable by all. - chmod -R u+rwX,go-w,go+rX $(DESTDIR)$(MASON_HTML_PATH) \ - $(DESTDIR)$(MASON_LOCAL_HTML_PATH) \ - $(DESTDIR)$(LOCAL_LEXICON_PATH) - chown -R $(LIBS_OWNER) $(DESTDIR)$(MASON_HTML_PATH) \ - $(DESTDIR)$(MASON_LOCAL_HTML_PATH) - chgrp -R $(LIBS_GROUP) $(DESTDIR)$(MASON_HTML_PATH) \ - $(DESTDIR)$(MASON_LOCAL_HTML_PATH) - - # Make the web ui's data dir writable - chmod 0770 $(DESTDIR)$(MASON_DATA_PATH) \ - $(DESTDIR)$(MASON_SESSION_PATH) - chown -R $(WEB_USER) $(DESTDIR)$(MASON_DATA_PATH) \ - $(DESTDIR)$(MASON_SESSION_PATH) - chgrp -R $(WEB_GROUP) $(DESTDIR)$(MASON_DATA_PATH) \ - $(DESTDIR)$(MASON_SESSION_PATH) -# }}} - -# {{{ dirs -dirs: - $(INSTALL) -m 0755 -d $(DESTDIR)$(RT_LOG_PATH) - $(INSTALL) -m 0755 -d $(DESTDIR)$(RT_FONT_PATH) - $(INSTALL) -m 0770 -d $(DESTDIR)$(MASON_DATA_PATH) - $(INSTALL) -m 0770 -d $(DESTDIR)$(MASON_DATA_PATH)/cache - $(INSTALL) -m 0770 -d $(DESTDIR)$(MASON_DATA_PATH)/etc - $(INSTALL) -m 0770 -d $(DESTDIR)$(MASON_DATA_PATH)/obj - $(INSTALL) -m 0770 -d $(DESTDIR)$(MASON_SESSION_PATH) - $(INSTALL) -m 0755 -d $(DESTDIR)$(MASON_HTML_PATH) - $(INSTALL) -m 0755 -d $(DESTDIR)$(MASON_LOCAL_HTML_PATH) - $(INSTALL) -m 0755 -d $(DESTDIR)$(LOCAL_ETC_PATH) - $(INSTALL) -m 0755 -d $(DESTDIR)$(LOCAL_LIB_PATH) - $(INSTALL) -m 0755 -d $(DESTDIR)$(LOCAL_PLUGIN_PATH) - $(INSTALL) -m 0755 -d $(DESTDIR)$(LOCAL_LEXICON_PATH) -# }}} - -install: testdeps config-install dirs files-install fixperms instruct - -files-install: libs-install etc-install config-install bin-install sbin-install html-install local-install doc-install font-install - -config-install: - $(INSTALL) -m 0755 -o $(BIN_OWNER) -g $(RTGROUP) -d $(DESTDIR)$(CONFIG_FILE_PATH) - -$(INSTALL) -m 0440 -o $(BIN_OWNER) -g $(RTGROUP) etc/RT_Config.pm $(DESTDIR)$(CONFIG_FILE) - [ -f $(DESTDIR)$(SITE_CONFIG_FILE) ] || $(INSTALL) -m 0640 -o $(BIN_OWNER) -g $(RTGROUP) etc/RT_SiteConfig.pm $(DESTDIR)$(SITE_CONFIG_FILE) - @echo "Installed configuration. About to install RT in $(RT_PATH)" - -test: - $(PERL) "-MExtUtils::Command::MM" -e "test_harness($(TEST_VERBOSE), 'lib')" $(TEST_FILES) - -parallel-test: test-parallel - -test-parallel: - RT_TEST_PARALLEL=1 HARNESS_OPTIONS="j4" $(PERL) "-MExtUtils::Command::MM" -e "test_harness($(TEST_VERBOSE), 'lib')" $(TEST_FILES) - -regression-install: config-install - $(PERL) -pi -e 's/Set\(\$$DatabaseName.*\);/Set\(\$$DatabaseName, "rt3regression"\);/' $(DESTDIR)$(CONFIG_FILE) - -# {{{ database-installation - -regression-reset-db: force-dropdb - $(PERL) -I$(LOCAL_LIB_PATH) -I$(RT_LIB_PATH) sbin/rt-setup-database --action init --dba $(DB_DBA) --dba-password '' - -initdb :: initialize-database - -initialize-database: - $(PERL) -I$(LOCAL_LIB_PATH) -I$(RT_LIB_PATH) sbin/rt-setup-database --action init --dba $(DB_DBA) --prompt-for-dba-password - -dropdb: - $(PERL) -I$(LOCAL_LIB_PATH) -I$(RT_LIB_PATH) sbin/rt-setup-database --action drop --dba $(DB_DBA) --prompt-for-dba-password - -force-dropdb: - $(PERL) -I$(LOCAL_LIB_PATH) -I$(RT_LIB_PATH) sbin/rt-setup-database --action drop --dba $(DB_DBA) --dba-password '' --force - -# }}} - -# {{{ libs-install -libs-install: - [ -d $(DESTDIR)$(RT_LIB_PATH) ] || $(INSTALL) -m 0755 -d $(DESTDIR)$(RT_LIB_PATH) - -( cd lib && find . -type d -print ) | while read dir ; do \ - $(INSTALL) -m 0755 -d "$(DESTDIR)$(RT_LIB_PATH)/$$dir" ; \ - done - -( cd lib && find . -type f -print ) | while read file ; do \ - $(INSTALL) -m 0644 "lib/$$file" "$(DESTDIR)$(RT_LIB_PATH)/$$file" ; \ - done -# }}} - -# {{{ html-install -html-install: - [ -d $(DESTDIR)$(MASON_HTML_PATH) ] || $(INSTALL) -m 0755 -d $(DESTDIR)$(MASON_HTML_PATH) - -( cd share/html && find . -type d -print ) | while read dir ; do \ - $(INSTALL) -m 0755 -d "$(DESTDIR)$(MASON_HTML_PATH)/$$dir" ; \ - done - -( cd share/html && find . -type f -print ) | while read file ; do \ - $(INSTALL) -m 0644 "share/html/$$file" "$(DESTDIR)$(MASON_HTML_PATH)/$$file" ; \ - done -# }}} - -# {{{ font-install -font-install: - [ -d $(DESTDIR)$(RT_FONT_PATH) ] || $(INSTALL) -m 0755 -d $(DESTDIR)$(RT_FONT_PATH) - -( cd share/fonts && find . -type f -print ) | while read file ; do \ - $(INSTALL) -m 0644 "share/fonts/$$file" "$(DESTDIR)$(RT_FONT_PATH)/$$file" ; \ - done -# }}} - -# {{{ doc-install -doc-install: - # RT 3.0.0 - RT 3.0.2 would accidentally create a file instead of a dir - -[ -f $(DESTDIR)$(RT_DOC_PATH) ] && rm $(DESTDIR)$(RT_DOC_PATH) - [ -d $(DESTDIR)$(RT_DOC_PATH) ] || $(INSTALL) -m 0755 -d $(DESTDIR)$(RT_DOC_PATH) - -$(INSTALL) -m 0644 ./README $(DESTDIR)$(RT_DOC_PATH)/ -# }}} - -# {{{ etc-install - -etc-install: - [ -d $(DESTDIR)$(RT_ETC_PATH) ] || $(INSTALL) -m 0755 -d $(DESTDIR)$(RT_ETC_PATH) - for file in $(ETC_FILES) ; do \ - $(INSTALL) -m 0644 "etc/$$file" "$(DESTDIR)$(RT_ETC_PATH)/" ; \ - done -# }}} - -# {{{ sbin-install - -sbin-install: - $(INSTALL) -m 0755 -d $(DESTDIR)$(RT_SBIN_PATH) - for file in $(SYSTEM_BINARIES) ; do \ - $(INSTALL) -o $(BIN_OWNER) -g $(RTGROUP) -m 0755 "sbin/$$file" "$(DESTDIR)$(RT_SBIN_PATH)/" ; \ - done - -# }}} - -# {{{ bin-install - -bin-install: - $(INSTALL) -m 0755 -d $(DESTDIR)$(RT_BIN_PATH) - for file in $(BINARIES) ; do \ - $(INSTALL) -o $(BIN_OWNER) -g $(RTGROUP) -m 0755 "bin/$$file" "$(DESTDIR)$(RT_BIN_PATH)/" ; \ - done - -# {{{ local-install -local-install: - -( cd local/html && find . -type d -print ) | while read dir ; do \ - $(INSTALL) -m 0755 -d "$(DESTDIR)$(MASON_LOCAL_HTML_PATH)/$$dir" ; \ - done - -( cd local/html && find . -type f -print ) | while read file ; do \ - $(INSTALL) -m 0644 "local/html/$$file" "$(DESTDIR)$(MASON_LOCAL_HTML_PATH)/$$file" ; \ - done - -( cd local/po && find . -type d -print ) | while read dir ; do \ - $(INSTALL) -m 0755 -d "$(DESTDIR)$(LOCAL_LEXICON_PATH)/$$dir" ; \ - done - -( cd local/po && find . -type f -print ) | while read file ; do \ - $(INSTALL) -m 0644 "local/po/$$file" "$(DESTDIR)$(LOCAL_LEXICON_PATH)/$$file" ; \ - done - -( cd local/etc && find . -type d -print ) | while read dir ; do \ - $(INSTALL) -m 0755 -d "$(DESTDIR)$(LOCAL_ETC_PATH)/$$dir" ; \ - done - -( cd local/etc && find . -type f -print ) | while read file ; do \ - $(INSTALL) -m 0644 "etc/$$file" "$(DESTDIR)$(LOCAL_ETC_PATH)/$$file" ; \ - done -# }}} - -# {{{ Best Practical Build targets -- no user servicable parts inside - -regenerate-catalogs: - $(PERL) sbin/extract-message-catalog - -license-tag: - $(PERL) sbin/license_tag - -factory: initialize-database - cd lib; $(PERL) ../sbin/factory $(DB_DATABASE) RT - -reconfigure: - aclocal -I m4 - autoconf - chmod 755 ./configure - ./configure - -start-httpd: - $(PERL) bin/standalone_httpd & - -start-server: - $(PERL) sbin/rt-server & - -apachectl: - $(APACHECTL) stop - sleep 10 - $(APACHECTL) start - sleep 5 - -SNAPSHOT=$(shell git describe --tags) -snapshot: - git archive --prefix "$(SNAPSHOT)/" HEAD | tar -xf - - ( cd $(SNAPSHOT) && autoconf && PERL=/usr/bin/perl ./configure ) - tar -czf "$(SNAPSHOT).tar.gz" "$(SNAPSHOT)/" - rm -fr "$(SNAPSHOT)/" - -# }}} diff --git a/rt/Makefile.in b/rt/Makefile.in index f963faa25..b415a06db 100644 --- a/rt/Makefile.in +++ b/rt/Makefile.in @@ -2,7 +2,7 @@ # # COPYRIGHT: # -# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC +# This software is Copyright (c) 1996-2012 Best Practical Solutions, LLC # # # (Except where explicitly superseded by other copyright notices) @@ -53,6 +53,7 @@ PERL = @PERL@ INSTALL = @INSTALL@ +CC = @CC@ RT_LAYOUT = @rt_layout_name@ @@ -88,7 +89,6 @@ WEB_GROUP = @WEB_GROUP@ APACHECTL = @APACHECTL@ -# {{{ Files and directories # DESTDIR allows you to specify that RT be installed somewhere other than # where it will eventually reside. DESTDIR _must_ have a trailing slash @@ -107,6 +107,7 @@ RT_MAN_PATH = @RT_MAN_PATH_R@ RT_VAR_PATH = @RT_VAR_PATH_R@ RT_DOC_PATH = @RT_DOC_PATH_R@ RT_FONT_PATH = @RT_FONT_PATH_R@ +RT_LEXICON_PATH = @RT_LEXICON_PATH_R@ RT_LOCAL_PATH = @RT_LOCAL_PATH_R@ LOCAL_PLUGIN_PATH = @RT_LOCAL_PATH_R@/plugins LOCAL_ETC_PATH = @LOCAL_ETC_PATH_R@ @@ -125,20 +126,7 @@ RT_READABLE_DIR_MODE = 0755 -# {{{ all these define the places that RT's binaries should get installed -# RT_MODPERL_HANDLER is the mason handler script for mod_perl -RT_MODPERL_HANDLER = webmux.pl -# RT_STANDALONE_SERVER is a stand-alone HTTP server -RT_STANDALONE_SERVER = standalone_httpd -# RT_SPEEDYCGI_HANDLER is the mason handler script for SpeedyCGI -RT_SPEEDYCGI_HANDLER = mason_handler.scgi -# RT_FASTCGI_HANDLER is the mason handler script for FastCGI -RT_FASTCGI_HANDLER = mason_handler.fcgi -# RT_FASTCGI_SERVER is the FastCGI server -RT_FASTCGI_SERVER = fastcgi_server -# RT_WIN32_FASTCGI_HANDLER is the mason handler script for FastCGI -RT_WIN32_FASTCGI_HANDLER = mason_handler.svc # RT's CLI RT_CLI_BIN = rt # RT's mail gateway @@ -146,66 +134,50 @@ RT_MAILGATE_BIN = rt-mailgate # RT's cron tool RT_CRON_BIN = rt-crontool -# }}} -BINARIES = $(RT_MODPERL_HANDLER) \ - $(RT_MAILGATE_BIN) \ +BINARIES = $(RT_MAILGATE_BIN) \ $(RT_CLI_BIN) \ - $(RT_CRON_BIN) \ - $(RT_STANDALONE_SERVER) \ - $(RT_SPEEDYCGI_HANDLER) \ - $(RT_FASTCGI_HANDLER) \ - $(RT_FASTCGI_SERVER) \ - $(RT_WIN32_FASTCGI_HANDLER) - - - - + $(RT_CRON_BIN) SYSTEM_BINARIES = rt-attributes-viewer \ - rt-dump-database \ - rt-setup-database \ - rt-email-digest \ + rt-clean-sessions \ + rt-dump-metadata \ rt-email-dashboards \ + rt-email-digest \ rt-email-group-admin \ + rt-fulltext-indexer \ + rt-preferences-viewer \ rt-server \ rt-session-viewer \ - rt-test-dependencies \ - rt-clean-sessions \ + rt-server.fcgi \ + rt-session-viewer \ + rt-setup-database \ + rt-setup-fulltext-index \ rt-shredder \ - rt-validator + rt-test-dependencies \ + rt-validator \ + standalone_httpd -ETC_FILES = acl.Informix \ - acl.Pg \ +ETC_FILES = acl.Pg \ acl.Oracle \ acl.mysql \ - acl.Sybase \ - schema.Informix \ schema.Pg \ schema.Oracle \ - schema.mysql-4.0 \ - schema.mysql-4.1 \ - schema.Sybase \ + schema.mysql \ schema.SQLite \ initialdata -# }}} -# {{{ Web frontend WEB_HANDLER = @WEB_HANDLER@ -# }}} -# {{{ Database setup # # DB_TYPE defines what sort of database RT trys to talk to -# "mysql" is known to work. -# "Pg" is known to work -# "Informix" is known to work +# "mysql", "Oracle", "Pg", and "SQLite" are known to work. DB_TYPE = @DB_TYPE@ @@ -217,7 +189,6 @@ DB_TYPE = @DB_TYPE@ # For mysql, you probably want 'root' # For Pg, you probably want 'postgres' # For Oracle, you want 'system' -# For Informix, you want 'informix' DB_DBA = @DB_DBA@ @@ -249,7 +220,6 @@ DB_DATABASE = @DB_DATABASE@ DB_RT_USER = @DB_RT_USER@ DB_RT_PASS = @DB_RT_PASS@ -# }}} TEST_FILES = t/*.t t/*/*.t @@ -285,16 +255,11 @@ upgrade-instruct: @echo "Congratulations. RT has been upgraded. You should now check over" @echo "$(CONFIG_FILE) for any necessary site customization. Additionally," @echo "you should update RT's system database objects by running " - @echo " $(RT_SBIN_PATH)/rt-setup-database --dba $(DB_DBA) --prompt-for-dba-password --action upgrade" + @echo " make upgrade-database" upgrade: testdeps config-install dirs files-install fixperms upgrade-instruct -upgrade-noclobber: config-install dirs libs-install html-install bin-install local-install doc-install font-install fixperms - - -# {{{ dependencies - my_with_web_handlers= $(shell $(PERL) -e 'print join " ", map "--with-$$_", grep defined && length, split /,/, "$(WEB_HANDLER)"') testdeps: $(PERL) ./sbin/rt-test-dependencies --verbose --with-$(DB_TYPE) $(my_with_web_handlers) @@ -306,7 +271,6 @@ fixdeps: #}}} -# {{{ fixperms fixperms: # Make the libraries readable chmod $(RT_READABLE_DIR_MODE) $(DESTDIR)$(RT_PATH) @@ -336,14 +300,20 @@ fixperms: # Make the system binaries executable also cd $(DESTDIR)$(RT_SBIN_PATH) && ( chmod 0755 $(SYSTEM_BINARIES) ; chown $(BIN_OWNER) $(SYSTEM_BINARIES); chgrp $(RTGROUP) $(SYSTEM_BINARIES)) + # Make the web ui readable by all. chmod -R u+rwX,go-w,go+rX $(DESTDIR)$(MASON_HTML_PATH) \ $(DESTDIR)$(MASON_LOCAL_HTML_PATH) \ + $(DESTDIR)$(RT_LEXICON_PATH) \ $(DESTDIR)$(LOCAL_LEXICON_PATH) chown -R $(LIBS_OWNER) $(DESTDIR)$(MASON_HTML_PATH) \ - $(DESTDIR)$(MASON_LOCAL_HTML_PATH) + $(DESTDIR)$(MASON_LOCAL_HTML_PATH) \ + $(DESTDIR)$(RT_LEXICON_PATH) \ + $(DESTDIR)$(LOCAL_LEXICON_PATH) chgrp -R $(LIBS_GROUP) $(DESTDIR)$(MASON_HTML_PATH) \ - $(DESTDIR)$(MASON_LOCAL_HTML_PATH) + $(DESTDIR)$(MASON_LOCAL_HTML_PATH) \ + $(DESTDIR)$(RT_LEXICON_PATH) \ + $(DESTDIR)$(LOCAL_LEXICON_PATH) # Make the web ui's data dir writable chmod 0770 $(DESTDIR)$(MASON_DATA_PATH) \ @@ -352,12 +322,11 @@ fixperms: $(DESTDIR)$(MASON_SESSION_PATH) chgrp -R $(WEB_GROUP) $(DESTDIR)$(MASON_DATA_PATH) \ $(DESTDIR)$(MASON_SESSION_PATH) -# }}} -# {{{ dirs dirs: $(INSTALL) -m 0755 -d $(DESTDIR)$(RT_LOG_PATH) $(INSTALL) -m 0755 -d $(DESTDIR)$(RT_FONT_PATH) + $(INSTALL) -m 0755 -d $(DESTDIR)$(RT_LEXICON_PATH) $(INSTALL) -m 0770 -d $(DESTDIR)$(MASON_DATA_PATH) $(INSTALL) -m 0770 -d $(DESTDIR)$(MASON_DATA_PATH)/cache $(INSTALL) -m 0770 -d $(DESTDIR)$(MASON_DATA_PATH)/etc @@ -369,11 +338,10 @@ dirs: $(INSTALL) -m 0755 -d $(DESTDIR)$(LOCAL_LIB_PATH) $(INSTALL) -m 0755 -d $(DESTDIR)$(LOCAL_PLUGIN_PATH) $(INSTALL) -m 0755 -d $(DESTDIR)$(LOCAL_LEXICON_PATH) -# }}} install: testdeps config-install dirs files-install fixperms instruct -files-install: libs-install etc-install config-install bin-install sbin-install html-install local-install doc-install font-install +files-install: libs-install etc-install config-install bin-install sbin-install html-install local-install doc-install font-install po-install config-install: @COMMENT_INPLACE_LAYOUT@ $(INSTALL) -m 0755 -o $(BIN_OWNER) -g $(RTGROUP) -d $(DESTDIR)$(CONFIG_FILE_PATH) @@ -387,30 +355,28 @@ test: parallel-test: test-parallel test-parallel: - RT_TEST_PARALLEL=1 HARNESS_OPTIONS="j4" $(PERL) "-MExtUtils::Command::MM" -e "test_harness($(TEST_VERBOSE), 'lib')" $(TEST_FILES) - -regression-install: config-install - $(PERL) -pi -e 's/Set\(\$$DatabaseName.*\);/Set\(\$$DatabaseName, "rt3regression"\);/' $(DESTDIR)$(CONFIG_FILE) - -# {{{ database-installation + RT_TEST_PARALLEL=1 $(PERL) "-MApp::Prove" -e 'my $$p = App::Prove->new(); $$p->process_args("-wlrj5","--state=slow,save", "t"); exit( $$p->run() ? 0 : 1 )' regression-reset-db: force-dropdb - $(PERL) -I$(LOCAL_LIB_PATH) -I$(RT_LIB_PATH) sbin/rt-setup-database --action init --dba $(DB_DBA) --dba-password '' + $(PERL) -I$(LOCAL_LIB_PATH) -I$(RT_LIB_PATH) sbin/rt-setup-database --action init --dba-password '' initdb :: initialize-database initialize-database: - $(PERL) -I$(LOCAL_LIB_PATH) -I$(RT_LIB_PATH) sbin/rt-setup-database --action init --dba $(DB_DBA) --prompt-for-dba-password + $(PERL) -I$(LOCAL_LIB_PATH) -I$(RT_LIB_PATH) sbin/rt-setup-database --action init --prompt-for-dba-password + +upgrade-database: + $(PERL) -I$(LOCAL_LIB_PATH) -I$(RT_LIB_PATH) sbin/rt-setup-database --action upgrade --prompt-for-dba-password dropdb: - $(PERL) -I$(LOCAL_LIB_PATH) -I$(RT_LIB_PATH) sbin/rt-setup-database --action drop --dba $(DB_DBA) --prompt-for-dba-password + $(PERL) -I$(LOCAL_LIB_PATH) -I$(RT_LIB_PATH) sbin/rt-setup-database --action drop --prompt-for-dba-password force-dropdb: - $(PERL) -I$(LOCAL_LIB_PATH) -I$(RT_LIB_PATH) sbin/rt-setup-database --action drop --dba $(DB_DBA) --dba-password '' --force + $(PERL) -I$(LOCAL_LIB_PATH) -I$(RT_LIB_PATH) sbin/rt-setup-database --action drop --dba-password '' --force -# }}} +critic: + perlcritic --quiet sbin bin lib -# {{{ libs-install libs-install: @COMMENT_INPLACE_LAYOUT@ [ -d $(DESTDIR)$(RT_LIB_PATH) ] || $(INSTALL) -m 0755 -d $(DESTDIR)$(RT_LIB_PATH) @COMMENT_INPLACE_LAYOUT@ -( cd lib && find . -type d -print ) | while read dir ; do \ @@ -419,9 +385,7 @@ libs-install: @COMMENT_INPLACE_LAYOUT@ -( cd lib && find . -type f -print ) | while read file ; do \ @COMMENT_INPLACE_LAYOUT@ $(INSTALL) -m 0644 "lib/$$file" "$(DESTDIR)$(RT_LIB_PATH)/$$file" ; \ @COMMENT_INPLACE_LAYOUT@ done -# }}} -# {{{ html-install html-install: @COMMENT_INPLACE_LAYOUT@ [ -d $(DESTDIR)$(MASON_HTML_PATH) ] || $(INSTALL) -m 0755 -d $(DESTDIR)$(MASON_HTML_PATH) @COMMENT_INPLACE_LAYOUT@ -( cd share/html && find . -type d -print ) | while read dir ; do \ @@ -430,34 +394,41 @@ html-install: @COMMENT_INPLACE_LAYOUT@ -( cd share/html && find . -type f -print ) | while read file ; do \ @COMMENT_INPLACE_LAYOUT@ $(INSTALL) -m 0644 "share/html/$$file" "$(DESTDIR)$(MASON_HTML_PATH)/$$file" ; \ @COMMENT_INPLACE_LAYOUT@ done -# }}} -# {{{ font-install font-install: @COMMENT_INPLACE_LAYOUT@ [ -d $(DESTDIR)$(RT_FONT_PATH) ] || $(INSTALL) -m 0755 -d $(DESTDIR)$(RT_FONT_PATH) @COMMENT_INPLACE_LAYOUT@ -( cd share/fonts && find . -type f -print ) | while read file ; do \ @COMMENT_INPLACE_LAYOUT@ $(INSTALL) -m 0644 "share/fonts/$$file" "$(DESTDIR)$(RT_FONT_PATH)/$$file" ; \ @COMMENT_INPLACE_LAYOUT@ done -# }}} -# {{{ doc-install + +po-install: +@COMMENT_INPLACE_LAYOUT@ [ -d $(DESTDIR)$(RT_LEXICON_PATH) ] || $(INSTALL) -m 0755 -d $(DESTDIR)$(RT_LEXICON_PATH) +@COMMENT_INPLACE_LAYOUT@ -( cd share/po && find . -type f -print ) | while read file ; do \ +@COMMENT_INPLACE_LAYOUT@ $(INSTALL) -m 0644 "share/po/$$file" "$(DESTDIR)$(RT_LEXICON_PATH)/$$file" ; \ +@COMMENT_INPLACE_LAYOUT@ done + + + doc-install: @COMMENT_INPLACE_LAYOUT@ # RT 3.0.0 - RT 3.0.2 would accidentally create a file instead of a dir @COMMENT_INPLACE_LAYOUT@ -[ -f $(DESTDIR)$(RT_DOC_PATH) ] && rm $(DESTDIR)$(RT_DOC_PATH) @COMMENT_INPLACE_LAYOUT@ [ -d $(DESTDIR)$(RT_DOC_PATH) ] || $(INSTALL) -m 0755 -d $(DESTDIR)$(RT_DOC_PATH) +@COMMENT_INPLACE_LAYOUT@ -( cd docs && find . -type d -print ) | while read dir ; do \ +@COMMENT_INPLACE_LAYOUT@ $(INSTALL) -m 0755 -d "$(DESTDIR)$(RT_DOC_PATH)/$$dir" ; \ +@COMMENT_INPLACE_LAYOUT@ done +@COMMENT_INPLACE_LAYOUT@ -( cd docs && find . -type f -print ) | while read file ; do \ +@COMMENT_INPLACE_LAYOUT@ $(INSTALL) -m 0644 "docs/$$file" "$(DESTDIR)$(RT_DOC_PATH)/$$file" ; \ +@COMMENT_INPLACE_LAYOUT@ done @COMMENT_INPLACE_LAYOUT@ -$(INSTALL) -m 0644 ./README $(DESTDIR)$(RT_DOC_PATH)/ -# }}} -# {{{ etc-install etc-install: @COMMENT_INPLACE_LAYOUT@ [ -d $(DESTDIR)$(RT_ETC_PATH) ] || $(INSTALL) -m 0755 -d $(DESTDIR)$(RT_ETC_PATH) @COMMENT_INPLACE_LAYOUT@ for file in $(ETC_FILES) ; do \ @COMMENT_INPLACE_LAYOUT@ $(INSTALL) -m 0644 "etc/$$file" "$(DESTDIR)$(RT_ETC_PATH)/" ; \ @COMMENT_INPLACE_LAYOUT@ done -# }}} -# {{{ sbin-install sbin-install: @COMMENT_INPLACE_LAYOUT@ $(INSTALL) -m 0755 -d $(DESTDIR)$(RT_SBIN_PATH) @@ -465,9 +436,7 @@ sbin-install: @COMMENT_INPLACE_LAYOUT@ $(INSTALL) -o $(BIN_OWNER) -g $(RTGROUP) -m 0755 "sbin/$$file" "$(DESTDIR)$(RT_SBIN_PATH)/" ; \ @COMMENT_INPLACE_LAYOUT@ done -# }}} -# {{{ bin-install bin-install: @COMMENT_INPLACE_LAYOUT@ $(INSTALL) -m 0755 -d $(DESTDIR)$(RT_BIN_PATH) @@ -475,7 +444,6 @@ bin-install: @COMMENT_INPLACE_LAYOUT@ $(INSTALL) -o $(BIN_OWNER) -g $(RTGROUP) -m 0755 "bin/$$file" "$(DESTDIR)$(RT_BIN_PATH)/" ; \ @COMMENT_INPLACE_LAYOUT@ done -# {{{ local-install local-install: -( cd local/html && find . -type d -print ) | while read dir ; do \ $(INSTALL) -m 0755 -d "$(DESTDIR)$(MASON_LOCAL_HTML_PATH)/$$dir" ; \ @@ -495,27 +463,19 @@ local-install: -( cd local/etc && find . -type f -print ) | while read file ; do \ $(INSTALL) -m 0644 "etc/$$file" "$(DESTDIR)$(LOCAL_ETC_PATH)/$$file" ; \ done -# }}} -# {{{ Best Practical Build targets -- no user servicable parts inside regenerate-catalogs: - $(PERL) sbin/extract-message-catalog + $(PERL) devel/tools/extract-message-catalog license-tag: - $(PERL) sbin/license_tag + $(PERL) devel/tools/license_tag factory: initialize-database - cd lib; $(PERL) ../sbin/factory $(DB_DATABASE) RT - -reconfigure: - aclocal -I m4 - autoconf - chmod 755 ./configure - ./configure + cd lib; $(PERL) ../devel/tools/factory $(DB_DATABASE) RT start-httpd: - $(PERL) bin/standalone_httpd & + $(PERL) sbin/standalone_httpd & start-server: $(PERL) sbin/rt-server & @@ -527,10 +487,88 @@ apachectl: sleep 5 SNAPSHOT=$(shell git describe --tags) -snapshot: +THIRD_PARTY=devel/third-party/ +snapshot: build-snapshot build-third-party clearsign-snapshot clearsign-third-party snapshot-shasums + +build-snapshot: git archive --prefix "$(SNAPSHOT)/" HEAD | tar -xf - - ( cd $(SNAPSHOT) && autoconf && PERL=/usr/bin/perl ./configure ) + ( cd $(SNAPSHOT) && \ + echo "$(SNAPSHOT)" > .tag && \ + autoconf && \ + INSTALL=./install-sh PERL=/usr/bin/perl ./configure \ + --with-db-type=SQLite \ + --enable-layout=relative \ + --with-web-handler=standalone && \ + rm -rf autom4te.cache \ + config.status config.log config.pld \ + ) tar -czf "$(SNAPSHOT).tar.gz" "$(SNAPSHOT)/" rm -fr "$(SNAPSHOT)/" -# }}} +clearsign-snapshot: + gpg --no-armor --detach-sign "$(SNAPSHOT).tar.gz" + +build-third-party: + git archive --prefix "$(SNAPSHOT)/$(THIRD_PARTY)" HEAD:$(THIRD_PARTY) \ + | gzip > "$(SNAPSHOT)-third-party-source.tar.gz" + rm -rf "$(SNAPSHOT)/$(THIRD_PARTY)" + +clearsign-third-party: + gpg --no-armor --detach-sign "$(SNAPSHOT)-third-party-source.tar.gz" + +snapshot-shasums: + sha1sum $(SNAPSHOT)*.tar.gz* + +vessel-import: build-snapshot + [ -d $(VESSEL) ] || (echo "VESSEL isn't a path to your shipwright vessel" && exit -1) + cp $(VESSEL)/scripts/RT/build.pl /tmp/build.pl + ./sbin/rt-test-dependencies --with-standalone --with-fastcgi --with-sqlite --list > /tmp/rt.yml + shipwright import file:$(SNAPSHOT).tar.gz \ + --require-yml /tmp/rt.yml \ + --build-script /tmp/build.pl \ + --name RT \ + --repository fs:$(VESSEL) \ + --log-level=info \ + --skip cpan-capitalization,cpan-mod_perl,cpan-Encode,cpan-PPI,cpan-Test-Exception-LessClever,cpan-Test-Manifest,cpan-Test-Object,cpan-Test-Pod,cpan-Test-Requires,cpan-Test-SubCalls,cpan-Test-cpan-Tester,cpan-Test-Warn --skip-all-recommends + mv $(VESSEL)/scripts/RT/build $(VESSEL)/scripts/RT/build.pl + +JSMIN_URL = http://download.bestpractical.com/mirror/jsmin-2011-01-22.c +JSMIN_SHA = 8a6b3b980a52c028eb73aee4a82ebe060c1ee854 + +jsmin: jsmin-checkcc jsmin-fetch jsmin-verify jsmin-confirm jsmin-build jsmin-install + @echo "" + @echo "To configure RT to use jsmin, add the following line to $(DESTDIR)$(RT_ETC_PATH)/RT_SiteConfig.pm:" + @echo "" + @echo " Set(\$$JSMinPath, '$(DESTDIR)$(RT_BIN_PATH)/jsmin');" + @echo "" + +jsmin-checkcc: + @[ -n "$(CC)" ] || (echo "You don't appear to have a C compiler, please set CC and re-run configure" && exit 1) + +jsmin-confirm: + @echo "jsmin is distributed under a slightly unusual license and can't be shipped" + @echo "with RT. Before configuring RT to use jsmin, please read jsmin's license" + @echo "below:" + @echo "" + @$(PERL) -pe 'print && exit if /^\*\// or /^#include/' jsmin.c + @echo "" + @echo "Press Enter to accept the license, or Ctrl-C to stop now." + @$(PERL) -e '' + +jsmin-fetch: + @echo "" + @echo "Downloading jsmin.c from $(JSMIN_URL)" + @echo "" + @$(PERL) -MLWP::Simple -e 'exit not is_success(getstore("$(JSMIN_URL)", "jsmin.c"))' \ + || (echo "Failed to download $(JSMIN_URL)" && exit 1) + +jsmin-verify: + @$(PERL) -MDigest::SHA -e \ + 'exit not Digest::SHA->new(1)->addfile("jsmin.c")->hexdigest eq "$(JSMIN_SHA)"' \ + || (echo "Verification of jsmin.c failed! Possible man in the middle?" && exit 1) + +jsmin-build: + $(CC) -o jsmin jsmin.c + +jsmin-install: + $(INSTALL) -o $(BIN_OWNER) -g $(RTGROUP) -m 0755 "jsmin" "$(DESTDIR)$(RT_BIN_PATH)/" diff --git a/rt/README b/rt/README index 361c20681..37a6aff67 100755 --- a/rt/README +++ b/rt/README @@ -2,17 +2,17 @@ RT is an enterprise-grade issue tracking system. It allows organizations to keep track of what needs to get done, who is working on which tasks, what's already been done, and when tasks were (or weren't) completed. -RT doesn't cost anything to use, no matter how much you use it; it -is freely available under the terms of Version 2 of the GNU General -Public License. +RT doesn't cost anything to use, no matter how much you use it; it is +freely available under the terms of Version 2 of the GNU General Public +License. RT is commercially-supported software. To purchase support, training, custom development, or professional services, please get in touch with -us at sales@bestpractical.com. +us at . Jesse Vincent Best Practical Solutions, LLC - March, 2010 + March, 2011 REQUIRED PACKAGES @@ -20,332 +20,242 @@ REQUIRED PACKAGES o Perl 5.8.3 or later (http://www.perl.org). - Perl versions prior to 5.8.3 contain bugs that could result - in data corruption. RT won't start on older versions. + Perl versions prior to 5.8.3 contain bugs that could result in + data corruption. RT won't start on older versions. o A supported SQL database - Currently supported: Mysql 4.0.13 or later with InnoDB support. - Postgres 7.2 or later. + Currently supported: Mysql 4.1 or later with InnoDB support. + Postgres 8.1 or later. Oracle 9iR2 or later. SQLite 3.0. (Not recommended for production) o Apache version 1.3.x or 2.x (http://httpd.apache.org) - with mod_perl -- (http://perl.apache.org ) + with mod_perl -- (http://perl.apache.org) or with FastCGI -- (www.fastcgi.com) or other webserver with FastCGI support RT's FastCGI handler needs to access RT's configuration file. o Various and sundry perl modules - A tool included with RT takes care of the installation of - most of these automatically during the install process. - The tool supplied with RT uses Perl's CPAN system - (http://www.cpan.org) to install modules. Some operating - systems package all or some of the modules required, and - you may be better off installing the modules that way. + A tool included with RT takes care of the installation of most + of these automatically during the install process. + + The tool supplied with RT uses Perl's CPAN (http://www.cpan.org) + to install modules. Some operating systems package all or some + of the modules required, and you may be better off installing + the modules that way. GENERAL INSTALLATION -------------------- -1 Unpack this distribution other than where you want to install RT - - To do this cleanly, run the following command: - - tar xzvf rt.tar.gz -C /tmp - -2 Run the "configure" script. - - ./configure --help to see the list of options - ./configure (with the flags you want) - - RT defaults to installing in /opt/rt3 with MySQL as its database. It - tries to guess which of www-data, www, apache or nobody your webserver - will run as, but you can override that behavior. Note that the - default install directory in /opt/rt3 does not work under SELinux's - default configuration. - - If you're upgrading RT stop and review the UPGRADING document. - Some extensions you're using may have been integrated into - core, or there may be other extra steps to follow. It's recommended - that you use a new clean directory when you're upgrading to - new major release (for example from 3.6.x to 3.8.x). - -3 Make sure that RT has everything it needs to run. - - Check for missing dependencies by running: - - make testdeps - -4 If the script reports any missing dependencies, install them by hand - or run the following command as a user who has permission to install perl - modules on your system: - - make fixdeps - - Some modules require user input or environment variables to install correctly, - so it may be necessary to install them manually. - -5 Check to make sure everything was installed properly. - - make testdeps - - It might sometimes be necessary to run "make fixdeps" several times - to install all necessary perl modules. - -6 If this is a new installation: - - As a user with permission to install RT in your chosen directory, type: - - make install - - Set up etc/RT_SiteConfig.pm in your RT installation directory. - You'll need to add any values you need to change from the defaults - in etc/RT_Config.pm - - As a user with permission to read RT's configuration file, type: - - make initialize-database - - If the make fails, type: - - make dropdb - - and start over from step 6 - -7 If you're upgrading from RT 3.0 or newer: + 1) Unpack this distribution other than where you want to install RT. + To do this cleanly, run the following command: - Read through the UPGRADING document included in this distribution. If - you're using MySQL, read through UPGRADING.mysql as well. + tar xzvf rt.tar.gz -C /tmp - It includes special upgrade instructions that will help you get this - new version of RT up and running smoothly. + 2) Run the "configure" script. To see the list of options, run: - As a user with permission to install RT in your chosen installation - directory, type: + ./configure --help - make upgrade + Peruse the options, then rerun ./configure with the flags you want. - This will install new binaries, config files and libraries without - overwriting your RT database. + RT defaults to installing in /opt/rt4 with MySQL as its database. It + tries to guess which of www-data, www, apache or nobody your + webserver will run as, but you can override that behavior. Note + that the default install directory in /opt/rt4 does not work under + SELinux's default configuration. - Update etc/RT_SiteConfig.pm in your RT installation directory. - You'll need to add any new values you need to change from the defaults - in etc/RT_Config.pm + If you are upgrading from a previous version of RT, please review + the upgrade notes for the appropriate versions, which can be found + in docs/UPGRADING-* If you are coming from 3.8.6 to 4.0.x you should + review both the UPGRADING-3.8 and UPGRADING-4.0 file. Similarly, if + you were coming from 3.6.7, you would want to review UPGRADING-3.6, + UPGRADING-3.8 and UPGRADING-4.0 - You may also need to update RT's database. You can do this with - the rt-setup-database tool. Replace root with the name of the dba - user on your database (root is the default for MySQL). + It is particularly important that you read the warnings at the top of + UPGRADING-4.0 for some common issues. - You will be prompted for your previous version of RT (such as 3.6.4) - so that we can calculate which database updates to apply + RT stores the arguments given to ./configure at the top of the + etc/RT_Config.pm file in case you need to recreate your previous use + of ./configure. - You should back up your database before running this command. - - /opt/rt3/sbin/rt-setup-database --dba root --prompt-for-dba-password --action upgrade - - Clear mason cache dir: - - rm -fr /opt/rt3/var/mason_data/obj - - Stop and start web-server. - - -8 If you're upgrading from RT 2.0: - - Read more in UPGRADING + 3) Make sure that RT has the Perl and system libraries it needs to run. + Check for missing dependencies by running: -9 Configure the email and web gateways, as described below. + make testdeps - NOTE: root's password for the web interface is "password" - (without the quotes). Not changing this is a SECURITY risk! + 4) If the script reports any missing dependencies, install them by + hand, or run the following command as a user who has permission to + install perl modules on your system: -10 Set up automated recurring tasks (cronjobs): + make fixdeps - To generate email digest messages, you must arrange for the provided - utility to be run once daily, and once weekly. You may also want to - arrange for the rt-email-dashboards utility to be run hourly. - For example, if your task scheduler is cron, you can configure it as - follows: - - crontab -e # as the RT administrator (probably root) - # insert the following lines: - 0 0 * * * /opt/rt3/sbin/rt-email-digest -m daily - 0 0 * * 0 /opt/rt3/sbin/rt-email-digest -m weekly - 0 * * * * /opt/rt3/sbin/rt-email-dashboards + Some modules require user input or environment variables to install + correctly, so it may be necessary to install them manually. + If you are installing with CPAN module older than 1.84, you will + need to start CPAN (by running perl -MCPAN -e shell) and upgrade the + CPAN shell with: -11 Set up users, groups, queues, scrips and access control. + install CPAN - Until you do this, RT will not be able to send or receive email, - nor will it be more than marginally functional. This is not an - optional step. + If you are unsure of your CPAN version, it will be printed when you + run the shell. + If you are having trouble installing GD or Graphviz, you should + install gd-devel and the graphviz libraries using your + distribution's package manager. -SETTING UP THE WEB INTERFACE ----------------------------- + 5) Check to make sure everything was installed properly. -RT's web interface is based around HTML::Mason, which works well with -the mod_perl perl interpreter within Apache httpd and FastCGI. + make testdeps -Once you've set up the web interface, consider setting up automatic -logout for inactive sessions. For more information about how to do that, -run - perldoc /path/to/rt/sbin/rt-clean-sessions + It might sometimes be necessary to run "make fixdeps" several times + to install all necessary perl modules. +6a) If this is a NEW installation (not an upgrade): -mod_perl 1.xx -------------- + As a user with permission to install RT in your chosen directory, + type: -WARNING: mod_perl 1.99_xx is not supported. + make install -See below configuration instructions for mod_perl 2.x + To configure RT with the web installer, run: -To install RT with mod_perl 1.x, you'll need to install the -apache database connection cache. To make sure it's installed, run -the following command: + /opt/rt4/sbin/rt-server - perl -MCPAN -e'install "Apache::DBI"' + and follow the instructions. Once completed, you should now have a + working RT instance running with the standalone rt-server. Press + Ctrl-C to stop it, and proceed to Step 7 to configure a recommended + deployment environment for production. -Next, add a few lines to your Apache 1.3.xx configuration file, so that -it knows where to find RT: + To configure RT manually, you must setup etc/RT_SiteConfig.pm in + your RT installation directory. You'll need to add any values you + need to change from the defaults in etc/RT_Config.pm - - ServerName your.rt.server.hostname + As a user with permission to read RT's configuration file, type: - DocumentRoot /opt/rt3/share/html - AddDefaultCharset UTF-8 + make initialize-database - # optional apache logs for RT - # ErrorLog /opt/rt3/var/log/apache.error - # TransferLog /opt/rt3/var/log/apache.access + If the make fails, type: - PerlModule Apache::DBI - PerlRequire /opt/rt3/bin/webmux.pl + make dropdb - - SetHandler default - - - SetHandler perl-script - PerlHandler RT::Mason - - + and re-run 'make initialize-database'. -mod_perl 2.xx -------------- +6b) If you are UPGRADING from a previous installation: -WARNING: mod_perl 1.99_xx is not supported. + Before upgrading, always ensure that you have a complete current + backup. If you don't have a current backup, upgrading your database + could accidentally damage it and lose data, or worse. -Add a few lines to your Apache 2.xx configuration file, so that -it knows where to find RT: + If you are using MySQL, please read the instructions in + docs/UPGRADING.mysql as well to ensure that you do not corrupt + existing data. - - ServerName your.rt.server.hostname + First, stop your webserver. You may also wish to put incoming email + into a hold queue, to avoid temporary delivery failure messages if + your upgrade is expected to take several hours. - DocumentRoot /opt/rt3/share/html - AddDefaultCharset UTF-8 + Next, install new binaries, config files and libraries by running: - # optional apache logs for RT - # ErrorLog /opt/rt3/var/log/apache2.error - # TransferLog /opt/rt3/var/log/apache2.access + make upgrade - PerlRequire "/opt/rt3/bin/webmux.pl" + This will also prompt you to upgrade your database by running: - - SetHandler default - - - SetHandler perl-script - PerlResponseHandler RT::Mason - - + make upgrade-database -FastCGI -------- + You should back up your database before running this command. + When you run it, you will be prompted for your previous version of + RT (such as 3.6.4) so that the appropriate set of database + upgrades can be applied. -Installation with FastCGI is a little bit more complex and is documented -in detail at http://wiki.bestpractical.com/index.cgi?FastCGIConfiguration + Finally, clear the Mason cache dir: -In the most basic configuration, you can set up your webserver to run -as a user who is a member of the "rt" unix group so that the FastCGI script -can read RT's configuration file. It's important to understand the security -implications of this configuration, which are discussed in the document -mentioned above. + rm -fr /opt/rt4/var/mason_data/obj -To install RT with FastCGI, you'll need to add a few lines to your -Apache configuration file telling it about RT: + You may then start your web server again. + 7) Configure the web server, as described in docs/web_deployment.pod, + and the email gateway, as described below. -# Tell FastCGI to put its temporary files somewhere sane. -FastCgiIpcDir /tmp + NOTE: The default credentials for RT are: + User: root + Pass: password + Not changing the root password from the default is a SECURITY risk! -FastCgiServer /opt/rt3/bin/mason_handler.fcgi -idle-timeout 120 + Once you've set up the web interface, consider setting up automatic + logout for inactive sessions. For more information about how to do + that, run: - - ServerName your.rt.server.hostname + perldoc /path/to/rt/sbin/rt-clean-sessions - # Pass through requests to display images - Alias /NoAuth/images/ /opt/rt3/share/html/NoAuth/images/ + 8) Set up users, groups, queues, scrips and access control. - AddHandler fastcgi-script fcgi - ScriptAlias / /opt/rt3/bin/mason_handler.fcgi/ - + Until you do this, RT will not be able to send or receive email, nor + will it be more than marginally functional. This is not an optional + step. + 9) Set up automated recurring tasks (cronjobs): + To generate email digest messages, you must arrange for the provided + utility to be run once daily, and once weekly. You may also want to + arrange for the rt-email-dashboards utility to be run hourly. For + example, if your task scheduler is cron, you can configure it as + follows: -SETTING UP THE MAIL GATEWAY ---------------------------- + crontab -e # as the RT administrator (probably root) + # insert the following lines: + 0 0 * * * /opt/rt4/sbin/rt-email-digest -m daily + 0 0 * * 0 /opt/rt4/sbin/rt-email-digest -m weekly + 0 * * * * /opt/rt4/sbin/rt-email-dashboards -To let email flow to your RT server, you need to add a few lines of -configuration to your mail server's "aliases" file. These lines "pipe" -incoming email messages from your mail server to RT. +10) Configure the RT email gateway. To let email flow to your RT + server, you need to add a few lines of configuration to your mail + server's "aliases" file. These lines "pipe" incoming email messages + from your mail server to RT. -Add the following lines to /etc/aliases (or your local equivalent) on your mail server: + Add the following lines to /etc/aliases (or your local equivalent) + on your mail server: -rt: "|/opt/rt3/bin/rt-mailgate --queue general --action correspond --url http://rt.example.com/" -rt-comment: "|/opt/rt3/bin/rt-mailgate --queue general --action comment --url http://rt.example.com/" + rt: "|/opt/rt4/bin/rt-mailgate --queue general --action correspond --url http://rt.example.com/" + rt-comment: "|/opt/rt4/bin/rt-mailgate --queue general --action comment --url http://rt.example.com/" -You'll need to add similar lines for each queue you want to be able -to send email to. To find out more about how to configure RT's email -gateway, type: + You'll need to add similar lines for each queue you want to be able to + send email to. To find out more about how to configure RT's email + gateway, type: - perldoc /opt/rt3/bin/rt-mailgate + perldoc /opt/rt4/bin/rt-mailgate + If your webserver uses SSL, rt-mailgate will require several new + Perl libraries. RT can detect and install these for you automatically + if you include --enable-ssl-mailgate when running configure and then + run make fixdeps as described in step 4. It is safe to rerun configure + and make fixdeps after you have installed RT, you should be sure to include + all the arguments you used in step 2 plus --enable-ssl-mailgate. GETTING HELP ------------ -If RT is mission-critical for you or if you use it heavily, we recommend that -you purchase a commercial support contract. Details on support contracts -are available at http://www.bestpractical.com or by writing to +If RT is mission-critical for you or if you use it heavily, we recommend +that you purchase a commercial support contract. Details on support +contracts are available at http://www.bestpractical.com or by writing to . -If you're interested in having RT extended or customized or would like more -information about commercial support options, please send email to +If you're interested in having RT extended or customized or would like +more information about commercial support options, please send email to to discuss rates and availability. +MAILING LISTS AND WIKI +---------------------- -RT WEBSITE ----------- - -For current information about RT, check out the RT website at - http://www.bestpractical.com/ - -You'll find screenshots, a pointer to the current version of RT, contributed -patches, and lots of other great stuff. - - - -RT-USERS MAILING LIST ---------------------- - -To keep up to date on the latest RT tips, techniques and extensions, -you probably want to join the rt-users mailing list. Send a message to: +To keep up to date on the latest RT tips, techniques and extensions, you +may wish to join the rt-users mailing list. Send a message to: rt-users-request@lists.bestpractical.com @@ -355,32 +265,41 @@ with the body of the message consisting of only the word: If you're interested in hacking on RT, you'll want to subscribe to . Subscribe to it with instructions -similar to those above. +similar to those above. Address questions about the stable release to +the rt-users list, and questions about the development version to the +rt-devel list. + +The RT wiki, at http://requesttracker.wikia.com/ , is also a potential +resource. + -Address questions about the stable release to the rt-users list, and -questions about the development version to the rt-devel list. If you feel -your questions are best not asked publicly, send them personally to -. +SECURITY +-------- +If you believe you've discovered a security issue in RT, please send an +email to with a detailed description of the +issue, and a secure means to respond to you (such as your PGP public +key). You can find our PGP key and fingerprint at +http://bestpractical.com/security/ BUGS ---- RT's a pretty complex application, and as you get up to speed, you might -run into some trouble. Generally, it's best to ask about things you -run into on the rt-users mailinglist (or pick up a commercial support -contract from Best Practical). But, sometimes people do run into bugs. In -the exceedingly unlikely event that you hit a bug in RT, please report -it! We'd love to hear about problems you have with RT, so we can fix them. -To report a bug, send email to rt-bugs@fsck.com. +run into some trouble. Generally, it's best to ask about things you run +into on the rt-users mailinglist (or pick up a commercial support +contract from Best Practical). But, sometimes people do run into +bugs. In the exceedingly unlikely event that you hit a bug in RT, please +report it! We'd love to hear about problems you have with RT, so we can +fix them. To report a bug, send email to . # BEGIN BPS TAGGED BLOCK {{{ # # COPYRIGHT: # -# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC +# This software is Copyright (c) 1996-2012 Best Practical Solutions, LLC # # # (Except where explicitly superseded by other copyright notices) diff --git a/rt/README.Oracle b/rt/README.Oracle index 9835b93e6..e128f7096 100644 --- a/rt/README.Oracle +++ b/rt/README.Oracle @@ -1,23 +1,23 @@ -Since RT 3.8.2 RT deployment on Oracle database has been simplified. +On RT 3.8.2 and later, RT deployment for Oracle databases is very +straightforward. -You don't need to create anything beforehead. During installation -an user is created and all RT's objects are created in his schema. -User is created with the following parameters: +You don't need to configure Oracle beforehand. During installation +a user is created and all RT's objects are created in his schema. +The user is created with the following parameters: CREATE USER IDENTIFIED BY DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP QUOTA UNLIMITED ON USERS -And as well granted with 'CONNECT' and 'RESOURCE'. It's up to you -to do decide how to manage users, change quotas, table spaces and -other. +And the user is also granted 'CONNECT' and 'RESOURCE'. It's up to you +to do decide how to manage users, change quotas, table spaces, etc. -RT has option DatabaseName which is used to define SID of -the Oracle database. You don't have to setup TWO_TASK environment -variable or other helpers files for connection. +RT has an option $DatabaseName which is used to define the SID of +the Oracle database. You don't have to set up the TWO_TASK environment +variable or any helper files for establishing connections. Example: - + ./configure \ --with-db-type=Oracle \ --with-db-database=XE \ @@ -27,15 +27,14 @@ Example: --with-db-rt-pass=rtdb1secret \ ... other configure options ... -This's all specifics of deployment on Oracle you should be aware -of. To complete installation you must follow general instructions -in the README file. +That should be enough to get you started on Oracle, but to complete +installation you must follow the general instructions in the README file. As with all databases it is important to analyze the schema and get -current statistics after any significant dataset change. Oracle's +current statistics after every significant dataset change. Oracle's cost-based optimizer can provide particularly bad performance when the -schema statistics are significantly inaccurate. To analyze the schema -of a user called rt, execute the following from within sqlplus: +schema statistics are inaccurate. To analyze the schema of the user +called RT, execute the following from within sqlplus: execute dbms_utility.analyze_schema( 'RT', 'estimate'); diff --git a/rt/UPGRADING b/rt/UPGRADING deleted file mode 100644 index 6466a36a5..000000000 --- a/rt/UPGRADING +++ /dev/null @@ -1,417 +0,0 @@ -UPGRADING - -Detailed information about upgrading can be found in the README file. -This document is intended to supplement the instructions in that file. - -Additional information about upgrading from specific versions of RT is -contained below. - -******* -WARNING -******* - -Before making any changes to your database, always ensure that you have a -complete current backup. If you don't have a current backup, you could -accidentally damage your database and lose data or worse. - -If you are using MySQL, please read the instructions in UPGRADING.mysql as -well. - -******* -UPGRADING FROM 3.8.8 and earlier - Changes: - -Previous versions of RT used a password hashing scheme which was too -easy to reverse, which could allow attackers with read access to the -RT database to possibly compromise users' passwords. Even if RT does -no password authentication itself, it may still store these weak -password hashes -- using ExternalAuth does not guarantee that you are -not vulnerable! To upgrade stored passwords to a stronger hash, run: - - perl etc/upgrade/vulnerable-passwords - - -We've proved that it's possible to delete set of records -from Transactions table without losing functionality. To delete -records run the following script: - - perl -I /opt/rt3/local/lib -I /opt/rt3/lib etc/upgrade/shrink_transactions_table.pl - -If you chose not to run the shrink_cgm_table.pl script when you upgraded to 3.8, -you should read more about it below and run it at this point. - -UPGRADING FROM 3.8.7 and earlier - Changes: - -RT's ChartFont option has been changed from a string to a hash which -lets you specify per-language fonts. RT now comes with a better default -font for charts, too. - -You should either update your 'ChartFont' option to match the new format -or consider trying the new default - -RT now gives you more precise control over the order in which custom fields -are displayed. This change requires some small changes to your currently saved -custom field orders. - -RT will automatically clean up your existing custom fields when you run: - - - /opt/rt3/sbin/rt-setup-database --dba root --prompt-for-dba-password --action upgrade - -After that cleanup, you should make sure that custom fields are ordered in -a way that you and your users find pleasing. - -UPGRADING FROM 3.8.6 and earlier - Changes: - -For MySQL and Oracle users: -If you upgraded from a version of RT earlier than 3.7.81 you should -already have a CachedGroupMembers3 index on your CachedGroupMembers table. -If you did a clean install of RT somewhere in the 3.8 release series, you -most likely don't have this index. You can add it manually with - - CREATE INDEX CachedGroupMembers3 on CachedGroupMembers (MemberId, ImmediateParentId); - -UPGRADING FROM 3.8.5 and earlier - Changes: - -You can now forward an entire Ticket history (in addition to specific transactions) -but this requires a new Template called forward ticket. This template will be added -when you run. - -/opt/rt3/sbin/rt-setup-database --dba root --prompt-for-dba-password --action upgrade - -Custom fields with categories can optionally be split out into -hierarchical custom fields. If you wish to convert your old -category-based custom fields, run: - - perl etc/upgrade/split-out-cf-categories - -It will prompt you for each custom field with categories that it -finds, and the name of the custom field to create to store the -categories. - -If you were using the LocalizedDateTime RT::Date formatter from code -and passing a DateFormat or TimeFormat argument, you need to switch from -the strftime methods to the cldr methods (ie full_date_format becomes date_format_full) -You may have done this from your RT_SiteConfig.pm by using -Set($DateTimeFormat, { Format => 'LocalizedDateTime', DateFormat => 'medium_date_format' ); - -UPGRADING FROM 3.8.3 and earlier - Changes: - -Arguments to the NotifyGroup Scrip Action need -to be corrected in the database using - -/opt/rt3/sbin/rt-setup-database --dba root --prompt-for-dba-password --action upgrade - - -UPGRADING FROM 3.8.2 and earlier - Changes: - -New scrip condition 'On Reject'. - -UPGRADING FROM 3.8.1 and earlier - Changes: - -= Oracle configuration = - -$DatabaseName is used as SID, so RT can connect without environment variables -or tnsnames.ora file. Because of this change your RT instance may loose ability -to connect to your DB, you have to update options and restart your web server. -Example configuration: - - Set($DatabaseType, 'Oracle'); - Set($DatabaseHost, '192.168.0.1'); - # undefined port => will try both 1526 and 1521 - Set($DatabasePort, undef); - # ORACLE SID - Set($DatabaseName, 'XE'); - # user for RT in Oracle, RT's tables in his schema - Set($DatabaseUser, 'test'); - # above user's password - Set($DatabasePassword, 'test'); - -= Rights changes = - -Now, if you want any user to be able to access the Approvals tools (a.k.a. the -Approvals tab), you must grant that user the "ShowApprovalsTab" right. - -UPGRADING FROM 3.8.0 and earlier - Changes: - -Searches for bookmarked tickets have been reimplemented and syntax has -been changed a little. Database upgrade script handles global 'Bookmarked Tickets' -search only. New Ticket SQL "id = '__Bookmarked__'" is more flexible than -old "__Bookmarks__". Old version is not valid Ticket SQL query, so people -can not use it in the query builder and as well admins couldn't not edit -format and other properties of the global saved search. Old version's been -left for backwards compatibility. - - -UPGRADING FROM 3.7.85 and earlier - Changes: - -We've proved that it's possible to delete pretty big set of records -from CachedGroupMembers table without losing functionality. To delete -record run the following script. If you don't run this, you may -occasionally see problems where RT miscounts users, particularly in the -chart functionality. - - perl -I /opt/rt3/local/lib -I /opt/rt3/lib etc/upgrade/shrink_cgm_table.pl - -After you run this, you'll have significantly reduced the number of -records in your CachedGroupMembers table and may need to tell your -database to refresh indexes/statistics. Please consult your DBA for -specific instructions for your database. - -UPGRADING FROM 3.7.81 and earlier - Changes: - -RT::Extension::BrandedQueues has been integrated into core, so you MUST read -upgrading instructions docs/queue_subject_tag.pod EVEN IF you have not used -that extension. - -RT::Action::LinearEscalate extension has been integrated into core, -so you MUST uninstall it before upgrading. - -RT::Extension::iCal has been integrated into core, so you MUST uninstall -it before upgrading. In addition, you must run etc/upgrade/3.8-ical-extension -script to convert old data. - -UPGRADING FROM 3.7.80 and earlier - Changes: - -Added indexes to CachedGroupMembers for MySQL and Oracle. -If you have previously installed RTx-Shredder, you may already -have these indexes. You can see the indexes by looking at -etc/upgrade/3.7.81/schema.* - -These indexes may take a very long time to create. - -UPGRADING FROM 3.6.X and earlier - Changes: - -There are a lot of changes all over the code, so it's highly recommended to -use fresh directory and then reinstalling your customizations. - -New schema for mysql 4.1 and greater, read more in UPGRADING.mysql. - -Config format has been made stricter. All options MUST be set using Set -function, no more "@XXX = (...) unless @XXX;". Use "Set(@XXX, ...);" instead. - -RTx::Shredder extension has been integrated into core and features have been -added, so you MUST uninstall it before upgrading or use a fresh directory for -installation. - -New interface for making links in text clickable and doing other replacements -has been integrated into RT. -Read more in `perldoc docs/extending_clickable_links.pod`. - -New feature that allow users to forward messages. There is a new option in -the config ($ForwardFromUser), new rights and a template. - -New global templates with "Error: " prefix in the name to make it possible -to configure error messages sent to users. - -Read about GnuPG integration in `perldoc docs/gnupg_integration.pod`. - -New scrip conditions 'On Close' and 'On Reopen'. - -UPGRADING FROM 3.5.7 and earlier - Changes: - -Scrips are now prepared and committed in order alphanumerically by description. -This means that you can prepend a number (00, 07, 15, 24) to the beginning of -each scrip's description, and they will run in that order. Depending on your -database, the old ordering may have been by scrip id number -- if that is the -case, simply prepend the scrip id number to the beginning of its description. - - -UPGRADING FROM 3.5.1 and earlier - Changes: - -The default for $RedistributeAutoGeneratedMessages has changed to -'privileged', to make out-of-the-box installations more resistant -to mail loops. If you rely on the old default of redistributing to -all watchers, you'll need to set it explicitly now. - - -UPGRADING FROM 3.3.14 and earlier - Changes: - -The "ModifyObjectCustomFieldValues" right name was too long. It's been changed to -"ModifyCustomField" - - -UPGRADING FROM 3.3.11 and earlier - Changes: - -= Rights Changes = - -Custom Fields now have an additional right "ModifyCustomField". -This right governs whether a user can modify an object's custom field values -for a particular custom field. This includes adding, deleting and changing values. - - -UPGRADING FROM 3.2 and earlier - Changes: - -= Rights changes = - -Now, if you want any user to be able to access the Admin tools (a.k.a. -the Configuration tab), you must grant that user the "ShowConfigTab" -right. Making the user a privileged user is no longer sufficient. - -"SuperUser" users are no longer automatically added to the list of users who can own tickets in a queue. You now need to explicitly give them the "own tickets" right. - - - -UPGRADING FROM 3.0.x - Changes: - -= Installation = - -We recommend you move your existing /opt/rt3 tree completely out -of the way before installing the new version of RT, to make sure -that you don't inadvertently leave old files hanging around. - -= Rights changes = - -Now, if you want RT to automatically create new users upon ticket -submission, you MUST grant 'Everyone' the right to create tickets. -Granting this right only to "Unprivileged Users" is now insufficient. - - -= FastCGI configuration = - -This section is a snapshot of the documentation available at: - -http://wiki.bestpractical.com/index.cgi?FastCGIConfiguration - -It's worth checking out that resource if these instructions don't -work right for you - - -RT 3.2 includes a significant change to the FastCGI handler. It is -no longer "setgid" to the RT group. Perl's setid support has been -deprecated for the last several releases and a number of platforms -don't bundle the "sperl" or "suidperl" executable by default. -Additionally, when perl is run SetUID or SetGID, the interpreter -is automatically switched into /taint mode/, in which all incoming -data, no matter the source is considered suspect. At first, this -seems like a great idea. But perl's taint mode is a big sledgehammer -used to hit small nails. Many perl libraries aren't tested in taint -mode and will fail when least expected. Moving away from a SetGID -FastCGI handler will enable more users to have a smoother RT -experience. It does require some changes in how you set up and -configure RT. - -Beginning with RT 3.2, you have several choices about how to configure -RT to run as a FastCGI: - - -== Install RT as the user your webserver runs as == - -Pros: Very easy to configure - -Cons: Your webserver has access to RT's private database password - - -=== How To - -When installing RT, run: - - ./configure --with-web-user="webuser" --with-web-group="webgroup" \ - --with-rt-user="webuser" --with-rt-group="webgroup" - -(Don't forget to include other configuration options that matter to you) - -If you're using apache, you'll want to add something like the following -to your httpd.conf: - - - - # Pass through requests to display images - Alias /NoAuth/images/ /opt/rt3/share/html/NoAuth/images/ - - # Tell FastCGI to put its temporary files somewhere sane. - FastCgiIpcDir /tmp - - FastCgiServer /opt/rt3/bin/mason_handler.fcgi -idle-timeout 120 - - AddHandler fastcgi-script fcgi - ScriptAlias / /opt/rt3/bin/mason_handler.fcgi/ - - - - -== Make your webserver user a member of the "rt" group == - -Pros: Easy to configure - -Cons: Your webserver has access to RT's private database password - - -=== How To - -Install RT normally. Add whichever user your webserver runs as -(whatever you set --with-web-user to) to the "rt" group (whatever -you set --with-rt-group to) in /etc/groups. - -To find out what user your webserver runs as, look for the line - - User some-user-name - -in your apache httpd.conf. Common values are www, www-data, web and nobody. - - - -== Run RT using _suexec_ or a similar mechanism - - -Pros: More secure - -Cons: Sometimes very difficult to configure - -Apache's _suexec_ utility allows you run CGI programs as specific -users. Because that's a relatively heavy responsibility, it's very, -very conservative about what it's willing to do for you. On top of -that, Apache's mod_fastcgi plugin doesn't respect all of suexec's -features. While suexec is designed to execute CGI scripts in a -given virtual host's !DocumentRoot, It can only execute FastCGI -scripts in the system's *main* !DocumentRoot. - -This means you have to copy the RT FastCGI handler into your main -!DocumentRoot - -The following example !VirtualHost will run RT as a FastCGI on -Apache 1.3 on a Debian Linux server. - - - - - DocumentRoot /opt/rt3/share/html - - # Set the rt user and group as the executing user for this virtual host - User rt - Group rt - - - # Pass through requests to display images - Alias /NoAuth/images/ /opt/rt3/share/html/NoAuth/images/ - - # Tell FastCGI to put its temporary files somewhere sane. - FastCgiIpcDir /tmp - - # Tell FastCGI that it should use apache's "suexec" binary to call any - # FastCGI script. - # This is a GLOBAL setting - FastCgiWrapper /usr/lib/apache/suexec - - # You need to copy the rt mason_handler.fcgi into a directory inside - # the main server DocumentRoot - # That directory must be owned by the user and group that will execute - # the FastCGI script - # In this case, that directory is /var/www/rt - - # To find the local DocumentRoot, run "suexec -V" as root and look for the - # -D DOC_ROOT parameter. - - # Apache 1.3 discards the user and group parameters on the FastCgiServer - # line. Apache 2.0 requires them. - - FastCgiServer /var/www/rt/mason_handler.fcgi -idle-timeout 120 -user rt -group rt - - AddHandler fastcgi-script fcgi - ScriptAlias / /var/www/rt/mason_handler.fcgi/ - - - -UPGRADING FROM 2.x: - -See http://search.cpan.org/dist/RT-Extension-RT2toRT3/ - diff --git a/rt/UPGRADING.mysql b/rt/UPGRADING.mysql deleted file mode 100644 index 37b0dda42..000000000 --- a/rt/UPGRADING.mysql +++ /dev/null @@ -1,86 +0,0 @@ -MySQL 4.1 and greater implemented changes in character set handling -that may result in RT failures: multiple login requests, binary attachments -breakage, image custom fields breakage and more. - -In order to resolve this issue we've changed our schema for MySQL 4.1 and -greater versions. - -If you're installing a new RT then you can skip this file. - -If you're migrating from MySQL 4.0 to MySQL 4.1 and newer then you MUST follow -instructions at the bottom of this file. - -If you're upgrading RT from versions prior to 3.8.0 then you MUST follow -instructions below even if your old RT was installed on MySQL 4.1 or newer. - -=== Upgrading RT from versions prior to 3.8.0 === - -1) Backup RT's database. Use --default-character-set=binary if mysql -server is 4.1 or newer. Test that you can restore from this backup. - -2) Follow instructions in the README file to step 7. - -3) Apply changes described in step 7, but only up to version 3.7.87. - -4) Apply the RT 3.8 schema upgrades. Included in RT is the script -etc/upgrade/upgrade-mysql-schema.pl that generates SQL queries to -upgrade the database's schema. Run it: - - perl etc/upgrade/upgrade-mysql-schema.pl db user pass > queries.sql - -If your mysql database is on a remote host, you can run the script -like this instead - - perl etc/upgrade/upgrade-mysql-schema.pl db:host user pass > queries.sql - -5) Check sanity of the SQL queries yourself or consult with your DBA. - -6) Apply the queries. Note that this step can take a while. It may require -additional space on your hard drive comparable with size of your tables. - - mysql -u root -p rt3 < queries.sql - -NOTE that 'rt3' is the default name of the RT database, change it in the -command above if you're using a different name. - -This step should not produce any errors or warnings. If you see any, restore -your database from the backup you made at step 1) and send a report to the -rt-users@lists.bestpractical.com mailing list. - -7) Continue from step 7 in the README and apply other upgrades and -follow the remaining steps. - -8) Test everything. The most important parts you have to test: -* binary attachments, like docs, PDFs, and images -* binary custom fields -* everything that may contain characters other than ASCII - -=== Migrating from MySQL 4.0 to MySQL 4.1 and newer === - -Upgrading both MySQL and RT at the same time is a bad idea. The process becomes -more complicated, more time consuming, greater chance to fail, and much harder -to debug. - -It's better to perform the upgrade in two steps. First upgrade MySQL from 4.0 -to 4.1 or newer. Remember the following: - -* Don't use utf8 as MySQL's character set. This is the default in some - Linux distributions. -* import/export MySQL dumps using binary character set. - -When you're sure that everything is fine, you may upgrade RT using the -instructions above. - -If you still want to upgrade MySQL and RT simultaneously, then you can -do the following: - -1) Install a new RT on MySQL 4.1 or newer. -2) Test that this new clean RT works on this new database. -3) Dump the database from MySQL 4.0. -4) Configure MySQL 4.1 and newer to use Latin1 as default character set - everywhere. -5) Import the dump into the new MySQL server, replacing your empty database you - created at step 1, use --default-character-set=binary on restore. -6) At this point you have RT 3.8.x code base using an old database. You can - upgrade RT using the instructions above. - diff --git a/rt/aclocal.m4 b/rt/aclocal.m4 index 044af5af3..d427e1356 100644 --- a/rt/aclocal.m4 +++ b/rt/aclocal.m4 @@ -91,9 +91,9 @@ AC_DEFUN([RT_LAYOUT],[ changequote({,}) for var in prefix exec_prefix bindir sbindir \ sysconfdir mandir libdir datadir htmldir fontdir\ - localstatedir logfiledir masonstatedir \ + lexdir localstatedir logfiledir masonstatedir \ sessionstatedir customdir custometcdir customhtmldir \ - customlexdir customlibdir manualdir; do + customlexdir customplugindir customlibdir manualdir; do eval "val=\"\$$var\"" val=`echo $val | sed -e 's:\(.\)/*$:\1:'` val=`echo $val | @@ -113,6 +113,7 @@ AC_DEFUN([RT_LAYOUT],[ RT_SUBST_EXPANDED_ARG(sysconfdir) RT_SUBST_EXPANDED_ARG(mandir) RT_SUBST_EXPANDED_ARG(libdir) + RT_SUBST_EXPANDED_ARG(lexdir) RT_SUBST_EXPANDED_ARG(datadir) RT_SUBST_EXPANDED_ARG(htmldir) RT_SUBST_EXPANDED_ARG(fontdir) @@ -124,6 +125,7 @@ AC_DEFUN([RT_LAYOUT],[ RT_SUBST_EXPANDED_ARG(sessionstatedir) RT_SUBST_EXPANDED_ARG(customdir) RT_SUBST_EXPANDED_ARG(custometcdir) + RT_SUBST_EXPANDED_ARG(customplugindir) RT_SUBST_EXPANDED_ARG(customhtmldir) RT_SUBST_EXPANDED_ARG(customlexdir) RT_SUBST_EXPANDED_ARG(customlibdir) diff --git a/rt/autom4te.cache/output.0 b/rt/autom4te.cache/output.0 deleted file mode 100644 index 9b6148bc2..000000000 --- a/rt/autom4te.cache/output.0 +++ /dev/null @@ -1,5138 +0,0 @@ -@%:@! /bin/sh -@%:@ From configure.ac Revision. -@%:@ Guess values for system-dependent variables and create Makefiles. -@%:@ Generated by GNU Autoconf 2.67 for RT 3.8.11. -@%:@ -@%:@ Report bugs to . -@%:@ -@%:@ -@%:@ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -@%:@ 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software -@%:@ Foundation, Inc. -@%:@ -@%:@ -@%:@ This configure script is free software; the Free Software Foundation -@%:@ gives unlimited permission to copy, distribute and modify it. -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in @%:@( - *posix*) : - set -o posix ;; @%:@( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in @%:@( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -case $0 in @%:@(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in @%:@( - *posix*) : - set -o posix ;; @%:@( - *) : - ;; -esac -fi -" - as_required="as_fn_return () { (exit \$1); } -as_fn_success () { as_fn_return 0; } -as_fn_failure () { as_fn_return 1; } -as_fn_ret_success () { return 0; } -as_fn_ret_failure () { return 1; } - -exitcode=0 -as_fn_success || { exitcode=1; echo as_fn_success failed.; } -as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } -as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } -as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : - -else - exitcode=1; echo positional parameters were not saved. -fi -test x\$exitcode = x0 || exit 1" - as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO - as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO - eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && - test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1" - if (eval "$as_required") 2>/dev/null; then : - as_have_required=yes -else - as_have_required=no -fi - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : - -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -as_found=false -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - as_found=: - case $as_dir in @%:@( - /*) - for as_base in sh bash ksh sh5; do - # Try only shells that exist, to save several forks. - as_shell=$as_dir/$as_base - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : - CONFIG_SHELL=$as_shell as_have_required=yes - if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : - break 2 -fi -fi - done;; - esac - as_found=false -done -$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : - CONFIG_SHELL=$SHELL as_have_required=yes -fi; } -IFS=$as_save_IFS - - - if test "x$CONFIG_SHELL" != x; then : - # We cannot yet assume a decent shell, so we have to provide a - # neutralization value for shells without unset; and this also - # works around shells that cannot unset nonexistent variables. - BASH_ENV=/dev/null - ENV=/dev/null - (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} -fi - - if test x$as_have_required = xno; then : - $as_echo "$0: This script requires a shell more modern than all" - $as_echo "$0: the shells that I found on your system." - if test x${ZSH_VERSION+set} = xset ; then - $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" - $as_echo "$0: be upgraded to zsh 4.3.4 or later." - else - $as_echo "$0: Please tell bug-autoconf@gnu.org and -$0: rt-bugs@bestpractical.com about your system, including -$0: any error possibly output before this message. Then -$0: install a modern shell, or manually run the script -$0: under such a shell if you do have one." - fi - exit 1 -fi -fi -fi -SHELL=${CONFIG_SHELL-/bin/sh} -export SHELL -# Unset more variables known to interfere with behavior of common tools. -CLICOLOR_FORCE= GREP_OPTIONS= -unset CLICOLOR_FORCE GREP_OPTIONS - -## --------------------- ## -## M4sh Shell Functions. ## -## --------------------- ## -@%:@ as_fn_unset VAR -@%:@ --------------- -@%:@ Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset - -@%:@ as_fn_set_status STATUS -@%:@ ----------------------- -@%:@ Set @S|@? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} @%:@ as_fn_set_status - -@%:@ as_fn_exit STATUS -@%:@ ----------------- -@%:@ Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} @%:@ as_fn_exit - -@%:@ as_fn_mkdir_p -@%:@ ------------- -@%:@ Create "@S|@as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} @%:@ as_fn_mkdir_p -@%:@ as_fn_append VAR VALUE -@%:@ ---------------------- -@%:@ Append the text in VALUE to the end of the definition contained in VAR. Take -@%:@ advantage of any shell optimizations that allow amortized linear growth over -@%:@ repeated appends, instead of the typical quadratic growth present in naive -@%:@ implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -@%:@ as_fn_arith ARG... -@%:@ ------------------ -@%:@ Perform arithmetic evaluation on the ARGs, and store the result in the -@%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments -@%:@ must be portable across @S|@(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -@%:@ as_fn_error STATUS ERROR [LINENO LOG_FD] -@%:@ ---------------------------------------- -@%:@ Output "`basename @S|@0`: error: ERROR" to stderr. If LINENO and LOG_FD are -@%:@ provided, also output the error to LOG_FD, referencing LINENO. Then exit the -@%:@ script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} @%:@ as_fn_error - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - - - as_lineno_1=$LINENO as_lineno_1a=$LINENO - as_lineno_2=$LINENO as_lineno_2a=$LINENO - eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && - test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { - # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } - - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in @%:@((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -p' - fi -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in @%:@( - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in @%:@(( - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -test -n "$DJDIR" || exec 7<&0 &1 - -# Name of the host. -# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, -# so uname gets run too. -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` - -# -# Initializations. -# -ac_default_prefix=/usr/local -ac_clean_files= -ac_config_libobj_dir=. -LIB@&t@OBJS= -cross_compiling=no -subdirs= -MFLAGS= -MAKEFLAGS= - -# Identity of this package. -PACKAGE_NAME='RT' -PACKAGE_TARNAME='rt' -PACKAGE_VERSION='3.8.11' -PACKAGE_STRING='RT 3.8.11' -PACKAGE_BUGREPORT='rt-bugs@bestpractical.com' -PACKAGE_URL='' - -ac_unique_file="lib/RT.pm.in" -ac_default_prefix=/opt/rt3 -ac_subst_vars='LTLIBOBJS -LIB@&t@OBJS -RT_LOG_PATH_R -LOCAL_LIB_PATH_R -LOCAL_LEXICON_PATH_R -MASON_LOCAL_HTML_PATH_R -LOCAL_ETC_PATH_R -MASON_HTML_PATH_R -MASON_SESSION_PATH_R -MASON_DATA_PATH_R -RT_PLUGIN_PATH_R -RT_FONT_PATH_R -RT_MAN_PATH_R -RT_VAR_PATH_R -RT_SBIN_PATH_R -RT_BIN_PATH_R -CONFIG_FILE_PATH_R -RT_ETC_PATH_R -RT_LIB_PATH_R -RT_LOCAL_PATH_R -RT_DOC_PATH_R -RT_PATH_R -RT_LOG_PATH -LOCAL_LIB_PATH -LOCAL_LEXICON_PATH -MASON_LOCAL_HTML_PATH -LOCAL_ETC_PATH -MASON_HTML_PATH -MASON_SESSION_PATH -MASON_DATA_PATH -RT_PLUGIN_PATH -RT_FONT_PATH -RT_MAN_PATH -RT_VAR_PATH -RT_SBIN_PATH -RT_BIN_PATH -CONFIG_FILE_PATH -RT_ETC_PATH -RT_LIB_PATH -RT_LOCAL_PATH -RT_DOC_PATH -RT_PATH -RT_VERSION_PATCH -RT_VERSION_MINOR -RT_VERSION_MAJOR -RT_GPG -RT_GD -RT_GRAPHVIZ -OBJEXT -EXEEXT -ac_ct_CC -CPPFLAGS -LDFLAGS -CFLAGS -CC -RT_DEVEL_MODE -APACHECTL -RTGROUP -WEB_GROUP -WEB_USER -DB_RT_PASS -DB_RT_USER -DB_DATABASE -DB_DBA -DB_RT_HOST -DB_PORT -DB_HOST -DATABASE_ENV_PREF -DB_TYPE -LIBS_GROUP -LIBS_OWNER -BIN_OWNER -COMMENT_INPLACE_LAYOUT -rt_layout_name -exp_customlibdir -customlibdir -exp_customlexdir -customlexdir -exp_customhtmldir -customhtmldir -exp_custometcdir -custometcdir -exp_customdir -customdir -exp_sessionstatedir -sessionstatedir -exp_masonstatedir -masonstatedir -exp_logfiledir -logfiledir -exp_localstatedir -exp_plugindir -plugindir -exp_manualdir -manualdir -exp_fontdir -fontdir -exp_htmldir -exp_datadir -exp_libdir -exp_mandir -exp_sysconfdir -exp_sbindir -exp_bindir -exp_exec_prefix -exp_prefix -SPEEDY_BIN -WEB_HANDLER -PERL -AWK -INSTALL_DATA -INSTALL_SCRIPT -INSTALL_PROGRAM -rt_version_patch -rt_version_minor -rt_version_major -target_alias -host_alias -build_alias -LIBS -ECHO_T -ECHO_N -ECHO_C -DEFS -mandir -localedir -libdir -psdir -pdfdir -dvidir -htmldir -infodir -docdir -oldincludedir -includedir -localstatedir -sharedstatedir -sysconfdir -datadir -datarootdir -libexecdir -sbindir -bindir -program_transform_name -prefix -exec_prefix -PACKAGE_URL -PACKAGE_BUGREPORT -PACKAGE_STRING -PACKAGE_VERSION -PACKAGE_TARNAME -PACKAGE_NAME -PATH_SEPARATOR -SHELL' -ac_subst_files='' -ac_user_opts=' -enable_option_checking -with_web_handler -with_speedycgi -enable_layout -with_bin_owner -with_libs_owner -with_libs_group -with_db_type -with_db_host -with_db_port -with_db_rt_host -with_db_dba -with_db_database -with_db_rt_user -with_db_rt_pass -with_web_user -with_web_group -with_rt_group -with_my_user_group -with_apachectl -with_devel_mode -enable_devel_mode -with_graphviz -enable_graphviz -with_gd -enable_gd -enable_gpg -' - ac_precious_vars='build_alias -host_alias -target_alias -PERL -CC -CFLAGS -LDFLAGS -LIBS -CPPFLAGS' - - -# Initialize some variables set by options. -ac_init_help= -ac_init_version=false -ac_unrecognized_opts= -ac_unrecognized_sep= -# The variables have the same names as the options, with -# dashes changed to underlines. -cache_file=/dev/null -exec_prefix=NONE -no_create= -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -verbose= -x_includes=NONE -x_libraries=NONE - -# Installation directory options. -# These are left unexpanded so users can "make install exec_prefix=/foo" -# and all the variables that are supposed to be based on exec_prefix -# by default will actually change. -# Use braces instead of parens because sh, perl, etc. also accept them. -# (The list follows the same order as the GNU Coding Standards.) -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datarootdir='${prefix}/share' -datadir='${datarootdir}' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -includedir='${prefix}/include' -oldincludedir='/usr/include' -docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' -infodir='${datarootdir}/info' -htmldir='${docdir}' -dvidir='${docdir}' -pdfdir='${docdir}' -psdir='${docdir}' -libdir='${exec_prefix}/lib' -localedir='${datarootdir}/locale' -mandir='${datarootdir}/man' - -ac_prev= -ac_dashdash= -for ac_option -do - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval $ac_prev=\$ac_option - ac_prev= - continue - fi - - case $ac_option in - *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *=) ac_optarg= ;; - *) ac_optarg=yes ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case $ac_dashdash$ac_option in - --) - ac_dashdash=yes ;; - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir=$ac_optarg ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build_alias ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build_alias=$ac_optarg ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file=$ac_optarg ;; - - --config-cache | -C) - cache_file=config.cache ;; - - -datadir | --datadir | --datadi | --datad) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=*) - datadir=$ac_optarg ;; - - -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ - | --dataroo | --dataro | --datar) - ac_prev=datarootdir ;; - -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ - | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) - datarootdir=$ac_optarg ;; - - -disable-* | --disable-*) - ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=no ;; - - -docdir | --docdir | --docdi | --doc | --do) - ac_prev=docdir ;; - -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) - docdir=$ac_optarg ;; - - -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) - ac_prev=dvidir ;; - -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) - dvidir=$ac_optarg ;; - - -enable-* | --enable-*) - ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=\$ac_optarg ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix=$ac_optarg ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he | -h) - ac_init_help=long ;; - -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) - ac_init_help=recursive ;; - -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) - ac_init_help=short ;; - - -host | --host | --hos | --ho) - ac_prev=host_alias ;; - -host=* | --host=* | --hos=* | --ho=*) - host_alias=$ac_optarg ;; - - -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) - ac_prev=htmldir ;; - -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ - | --ht=*) - htmldir=$ac_optarg ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir=$ac_optarg ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir=$ac_optarg ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir=$ac_optarg ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir=$ac_optarg ;; - - -localedir | --localedir | --localedi | --localed | --locale) - ac_prev=localedir ;; - -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) - localedir=$ac_optarg ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst | --locals) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) - localstatedir=$ac_optarg ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir=$ac_optarg ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c | -n) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir=$ac_optarg ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix=$ac_optarg ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix=$ac_optarg ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix=$ac_optarg ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name=$ac_optarg ;; - - -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) - ac_prev=pdfdir ;; - -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) - pdfdir=$ac_optarg ;; - - -psdir | --psdir | --psdi | --psd | --ps) - ac_prev=psdir ;; - -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) - psdir=$ac_optarg ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir=$ac_optarg ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir=$ac_optarg ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site=$ac_optarg ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir=$ac_optarg ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir=$ac_optarg ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target_alias ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target_alias=$ac_optarg ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers | -V) - ac_init_version=: ;; - - -with-* | --with-*) - ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=\$ac_optarg ;; - - -without-* | --without-*) - ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=no ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes=$ac_optarg ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries=$ac_optarg ;; - - -*) as_fn_error $? "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information" - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - case $ac_envvar in #( - '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; - esac - eval $ac_envvar=\$ac_optarg - export $ac_envvar ;; - - *) - # FIXME: should be removed in autoconf 3.0. - $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} - ;; - - esac -done - -if test -n "$ac_prev"; then - ac_option=--`echo $ac_prev | sed 's/_/-/g'` - as_fn_error $? "missing argument to $ac_option" -fi - -if test -n "$ac_unrecognized_opts"; then - case $enable_option_checking in - no) ;; - fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; - *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; - esac -fi - -# Check all directory arguments for consistency. -for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ - datadir sysconfdir sharedstatedir localstatedir includedir \ - oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir -do - eval ac_val=\$$ac_var - # Remove trailing slashes. - case $ac_val in - */ ) - ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` - eval $ac_var=\$ac_val;; - esac - # Be sure to have absolute directory names. - case $ac_val in - [\\/$]* | ?:[\\/]* ) continue;; - NONE | '' ) case $ac_var in *prefix ) continue;; esac;; - esac - as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" -done - -# There might be people who depend on the old broken behavior: `$host' -# used to hold the argument of --host etc. -# FIXME: To remove some day. -build=$build_alias -host=$host_alias -target=$target_alias - -# FIXME: To remove some day. -if test "x$host_alias" != x; then - if test "x$build_alias" = x; then - cross_compiling=maybe - $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used" >&2 - elif test "x$build_alias" != "x$host_alias"; then - cross_compiling=yes - fi -fi - -ac_tool_prefix= -test -n "$host_alias" && ac_tool_prefix=$host_alias- - -test "$silent" = yes && exec 6>/dev/null - - -ac_pwd=`pwd` && test -n "$ac_pwd" && -ac_ls_di=`ls -di .` && -ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - as_fn_error $? "working directory cannot be determined" -test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error $? "pwd does not report name of working directory" - - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then the parent directory. - ac_confdir=`$as_dirname -- "$as_myself" || -$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_myself" : 'X\(//\)[^/]' \| \ - X"$as_myself" : 'X\(//\)$' \| \ - X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_myself" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - srcdir=$ac_confdir - if test ! -r "$srcdir/$ac_unique_file"; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r "$srcdir/$ac_unique_file"; then - test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" -fi -ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" - pwd)` -# When building in place, set srcdir=. -if test "$ac_abs_confdir" = "$ac_pwd"; then - srcdir=. -fi -# Remove unnecessary trailing slashes from srcdir. -# Double slashes in file names in object file debugging info -# mess up M-x gdb in Emacs. -case $srcdir in -*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; -esac -for ac_var in $ac_precious_vars; do - eval ac_env_${ac_var}_set=\${${ac_var}+set} - eval ac_env_${ac_var}_value=\$${ac_var} - eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} - eval ac_cv_env_${ac_var}_value=\$${ac_var} -done - -# -# Report the --help message. -# -if test "$ac_init_help" = "long"; then - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat <<_ACEOF -\`configure' configures RT 3.8.11 to adapt to many kinds of systems. - -Usage: $0 [OPTION]... [VAR=VALUE]... - -To assign environment variables (e.g., CC, CFLAGS...), specify them as -VAR=VALUE. See below for descriptions of some of the useful variables. - -Defaults for the options are specified in brackets. - -Configuration: - -h, --help display this help and exit - --help=short display options specific to this package - --help=recursive display the short help of all the included packages - -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking ...' messages - --cache-file=FILE cache test results in FILE [disabled] - -C, --config-cache alias for \`--cache-file=config.cache' - -n, --no-create do not create output files - --srcdir=DIR find the sources in DIR [configure dir or \`..'] - -Installation directories: - --prefix=PREFIX install architecture-independent files in PREFIX - @<:@@S|@ac_default_prefix@:>@ - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - @<:@PREFIX@:>@ - -By default, \`make install' will install all the files in -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -an installation prefix other than \`$ac_default_prefix' using \`--prefix', -for instance \`--prefix=\$HOME'. - -For better control, use the options below. - -Fine tuning of the installation directories: - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] - --datadir=DIR read-only architecture-independent data [DATAROOTDIR] - --infodir=DIR info documentation [DATAROOTDIR/info] - --localedir=DIR locale-dependent data [DATAROOTDIR/locale] - --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root @<:@DATAROOTDIR/doc/rt@:>@ - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] - --psdir=DIR ps documentation [DOCDIR] -_ACEOF - - cat <<\_ACEOF -_ACEOF -fi - -if test -n "$ac_init_help"; then - case $ac_init_help in - short | recursive ) echo "Configuration of RT 3.8.11:";; - esac - cat <<\_ACEOF - -Optional Features: - --disable-option-checking ignore unrecognized --enable/--with options - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --enable-layout=LAYOUT Use a specific directory layout (Default: relative) - --enable-devel-mode Turn on development aids that might hurt you in - production - --enable-graphviz Turns on support for RT's GraphViz dependency charts - --enable-gd Turns on support for RT's GD pie and bar charts - --enable-gpg Turns on GNU Privacy Guard (GPG) support - -Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-web-handler=LIST comma separated list of web-handlers RT will be able - to use. Default is fastcgi when modperl1, modperl2, - fastcgi, fastcgi-server, and speedycgi are valid. To - successfuly run RT you need only one. only one. - --with-speedycgi=/path/to/speedy - path to your speedycgi binary, if it exists - --with-bin-owner=OWNER user that will own RT binaries (default root) - --with-libs-owner=OWNER user that will own RT libraries (default root) - --with-libs-group=GROUP group that will own RT binaries (default bin) - --with-db-type=TYPE sort of database RT will use (default: mysql) - (mysql, Pg, Oracle and SQLite are valid) - --with-db-host=HOSTNAME FQDN of database server (default: localhost) - --with-db-port=PORT port on which the database listens on - --with-db-rt-host=HOSTNAME - FQDN of RT server which talks to the database server - (default: localhost) - --with-db-dba=DBA name of database administrator (default: root or - postgres) - --with-db-database=DBNAME - name of the database to use (default: rt3) - --with-db-rt-user=DBUSER - name of database user (default: rt_user) - --with-db-rt-pass=PASSWORD - password for database user (default: rt_pass) - --with-web-user=USER user the web server runs as (default: www) - --with-web-group=GROUP group the web server runs as (default: www) - --with-rt-group=GROUP group to own all files (default: rt) - --with-my-user-group set all users and groups to current user/group - --with-apachectl instruct RT where to find your apachectl - - -Some influential environment variables: - PERL Perl interpreter command - CC C compiler command - CFLAGS C compiler flags - LDFLAGS linker flags, e.g. -L if you have libraries in a - nonstandard directory - LIBS libraries to pass to the linker, e.g. -l - CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if - you have headers in a nonstandard directory - -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. - -Report bugs to . -_ACEOF -ac_status=$? -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d "$ac_dir" || - { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || - continue - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - cd "$ac_dir" || { ac_status=$?; continue; } - # Check for guested configure. - if test -f "$ac_srcdir/configure.gnu"; then - echo && - $SHELL "$ac_srcdir/configure.gnu" --help=recursive - elif test -f "$ac_srcdir/configure"; then - echo && - $SHELL "$ac_srcdir/configure" --help=recursive - else - $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi || ac_status=$? - cd "$ac_pwd" || { ac_status=$?; break; } - done -fi - -test -n "$ac_init_help" && exit $ac_status -if $ac_init_version; then - cat <<\_ACEOF -RT configure 3.8.11 -generated by GNU Autoconf 2.67 - -Copyright (C) 2010 Free Software Foundation, Inc. -This configure script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it. -_ACEOF - exit -fi - -## ------------------------ ## -## Autoconf initialization. ## -## ------------------------ ## - -@%:@ ac_fn_c_try_compile LINENO -@%:@ -------------------------- -@%:@ Try to compile conftest.@S|@ac_ext, and return whether this succeeded. -ac_fn_c_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - as_fn_set_status $ac_retval - -} @%:@ ac_fn_c_try_compile - -@%:@ ac_fn_c_try_link LINENO -@%:@ ----------------------- -@%:@ Try to link conftest.@S|@ac_ext, and return whether this succeeded. -ac_fn_c_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - as_fn_set_status $ac_retval - -} @%:@ ac_fn_c_try_link -cat >config.log <<_ACEOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by RT $as_me 3.8.11, which was -generated by GNU Autoconf 2.67. Invocation command line was - - $ $0 $@ - -_ACEOF -exec 5>>config.log -{ -cat <<_ASUNAME -## --------- ## -## Platform. ## -## --------- ## - -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` - -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` - -_ASUNAME - -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" - done -IFS=$as_save_IFS - -} >&5 - -cat >&5 <<_ACEOF - - -## ----------- ## -## Core tests. ## -## ----------- ## - -_ACEOF - - -# Keep a trace of the command line. -# Strip out --no-create and --no-recursion so they do not pile up. -# Strip out --silent because we don't want to record it for future runs. -# Also quote any args containing shell meta-characters. -# Make two passes to allow for proper duplicate-argument suppression. -ac_configure_args= -ac_configure_args0= -ac_configure_args1= -ac_must_keep_next=false -for ac_pass in 1 2 -do - for ac_arg - do - case $ac_arg in - -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - continue ;; - *\'*) - ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - case $ac_pass in - 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; - 2) - as_fn_append ac_configure_args1 " '$ac_arg'" - if test $ac_must_keep_next = true; then - ac_must_keep_next=false # Got value, back to normal. - else - case $ac_arg in - *=* | --config-cache | -C | -disable-* | --disable-* \ - | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ - | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ - | -with-* | --with-* | -without-* | --without-* | --x) - case "$ac_configure_args0 " in - "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; - esac - ;; - -* ) ac_must_keep_next=true ;; - esac - fi - as_fn_append ac_configure_args " '$ac_arg'" - ;; - esac - done -done -{ ac_configure_args0=; unset ac_configure_args0;} -{ ac_configure_args1=; unset ac_configure_args1;} - -# When interrupted or exit'd, cleanup temporary files, and complete -# config.log. We remove comments because anyway the quotes in there -# would cause problems or look ugly. -# WARNING: Use '\'' to represent an apostrophe within the trap. -# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. -trap 'exit_status=$? - # Save into config.log some information that might help in debugging. - { - echo - - $as_echo "## ---------------- ## -## Cache variables. ## -## ---------------- ##" - echo - # The following way of writing the cache mishandles newlines in values, -( - for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - (set) 2>&1 | - case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - sed -n \ - "s/'\''/'\''\\\\'\'''\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" - ;; #( - *) - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) - echo - - $as_echo "## ----------------- ## -## Output variables. ## -## ----------------- ##" - echo - for ac_var in $ac_subst_vars - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - - if test -n "$ac_subst_files"; then - $as_echo "## ------------------- ## -## File substitutions. ## -## ------------------- ##" - echo - for ac_var in $ac_subst_files - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - fi - - if test -s confdefs.h; then - $as_echo "## ----------- ## -## confdefs.h. ## -## ----------- ##" - echo - cat confdefs.h - echo - fi - test "$ac_signal" != 0 && - $as_echo "$as_me: caught signal $ac_signal" - $as_echo "$as_me: exit $exit_status" - } >&5 - rm -f core *.core core.conftest.* && - rm -f -r conftest* confdefs* conf$$* $ac_clean_files && - exit $exit_status -' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal -done -ac_signal=0 - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -f -r conftest* confdefs.h - -$as_echo "/* confdefs.h */" > confdefs.h - -# Predefined preprocessor variables. - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_NAME "$PACKAGE_NAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_VERSION "$PACKAGE_VERSION" -_ACEOF - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_STRING "$PACKAGE_STRING" -_ACEOF - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF - -cat >>confdefs.h <<_ACEOF -@%:@define PACKAGE_URL "$PACKAGE_URL" -_ACEOF - - -# Let the site file select an alternate cache file if it wants to. -# Prefer an explicitly selected file to automatically selected ones. -ac_site_file1=NONE -ac_site_file2=NONE -if test -n "$CONFIG_SITE"; then - # We do not want a PATH search for config.site. - case $CONFIG_SITE in @%:@(( - -*) ac_site_file1=./$CONFIG_SITE;; - */*) ac_site_file1=$CONFIG_SITE;; - *) ac_site_file1=./$CONFIG_SITE;; - esac -elif test "x$prefix" != xNONE; then - ac_site_file1=$prefix/share/config.site - ac_site_file2=$prefix/etc/config.site -else - ac_site_file1=$ac_default_prefix/share/config.site - ac_site_file2=$ac_default_prefix/etc/config.site -fi -for ac_site_file in "$ac_site_file1" "$ac_site_file2" -do - test "x$ac_site_file" = xNONE && continue - if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -$as_echo "$as_me: loading site script $ac_site_file" >&6;} - sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" \ - || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "failed to load site script $ac_site_file -See \`config.log' for more details" "$LINENO" 5 ; } - fi -done - -if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special files - # actually), so we avoid doing that. DJGPP emulates it as a regular file. - if test /dev/null != "$cache_file" && test -f "$cache_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -$as_echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . "$cache_file";; - *) . "./$cache_file";; - esac - fi -else - { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -$as_echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in $ac_precious_vars; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val=\$ac_cv_env_${ac_var}_value - eval ac_new_val=\$ac_env_${ac_var}_value - case $ac_old_set,$ac_new_set in - set,) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then - # differences in whitespace do not lead to failure. - ac_old_val_w=`echo x $ac_old_val` - ac_new_val_w=`echo x $ac_new_val` - if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - ac_cache_corrupted=: - else - { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} - eval $ac_var=\$ac_old_val - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} - fi;; - esac - # Pass precious variables to config.status. - if test "$ac_new_set" = set; then - case $ac_new_val in - *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; - *) ac_arg=$ac_var=$ac_new_val ;; - esac - case " $ac_configure_args " in - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) as_fn_append ac_configure_args " '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 -fi -## -------------------- ## -## Main body of script. ## -## -------------------- ## - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - - -rt_version_major=3 - -rt_version_minor=8 - -rt_version_patch=11 - -test "x$rt_version_major" = 'x' && rt_version_major=0 -test "x$rt_version_minor" = 'x' && rt_version_minor=0 -test "x$rt_version_patch" = 'x' && rt_version_patch=0 - -ac_aux_dir= -for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do - if test -f "$ac_dir/install-sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f "$ac_dir/install.sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f "$ac_dir/shtool"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 -fi - -# These three variables are undocumented and unsupported, -# and are intended to be withdrawn in a future Autoconf release. -# They can cause serious problems if a builder's source tree is in a directory -# whose full name contains unusual characters. -ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. - - -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# OS/2's system install, which has a completely different semantic -# ./install, which can be erroneously created by make from ./install.sh. -# Reject install programs that cannot install multiple files. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 -$as_echo_n "checking for a BSD-compatible install... " >&6; } -if test -z "$INSTALL"; then -if test "${ac_cv_path_install+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in @%:@(( - ./ | .// | /[cC]/* | \ - /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ - /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then - if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - rm -rf conftest.one conftest.two conftest.dir - echo one > conftest.one - echo two > conftest.two - mkdir conftest.dir - if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && - test -s conftest.one && test -s conftest.two && - test -s conftest.dir/conftest.one && - test -s conftest.dir/conftest.two - then - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - fi - done - done - ;; -esac - - done -IFS=$as_save_IFS - -rm -rf conftest.one conftest.two conftest.dir - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. Don't cache a - # value for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - INSTALL=$ac_install_sh - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 -$as_echo "$INSTALL" >&6; } - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - -for ac_prog in gawk mawk nawk awk -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_AWK+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_AWK="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 -$as_echo "$AWK" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AWK" && break -done - - -# Extract the first word of "perl", so it can be a program name with args. -set dummy perl; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_PERL+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - case $PERL in - [\\/]* | ?:[\\/]*) - ac_cv_path_PERL="$PERL" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - test -z "$ac_cv_path_PERL" && ac_cv_path_PERL="not found" - ;; -esac -fi -PERL=$ac_cv_path_PERL -if test -n "$PERL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PERL" >&5 -$as_echo "$PERL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -if test "$PERL" = 'not found'; then - as_fn_error $? "cannot use $PACKAGE_NAME without perl" "$LINENO" 5 -fi - - - -@%:@ Check whether --with-web-handler was given. -if test "${with_web_handler+set}" = set; then : - withval=$with_web_handler; WEB_HANDLER=$withval -else - WEB_HANDLER=fastcgi -fi - -my_web_handler_test=$($PERL -e 'print "ok" unless grep $_ !~ /^(modperl1|modperl2|fastcgi(?:-server)?|speedycgi|standalone)$/i, grep defined && length, split /\s*,\s*/, $ARGV0' $WEB_HANDLER) -if test "$my_web_handler_test" != "ok"; then - as_fn_error $? "Only modperl1, modperl2, fastcgi, fastcgi-server, speedycgi and standalone are valid web-handlers" "$LINENO" 5 -fi - - - -@%:@ Check whether --with-speedycgi was given. -if test "${with_speedycgi+set}" = set; then : - withval=$with_speedycgi; SPEEDY_BIN=$withval -else - SPEEDY_BIN=/usr/local/bin/speedy -fi - -if test "$WEB_HANDLER" = 'speedycgi' -a ! -x "$SPEEDY_BIN"; then - as_fn_error $? "cannot find speedycgi binary" "$LINENO" 5 -fi - - - - -@%:@ Check whether --enable-layout was given. -if test "${enable_layout+set}" = set; then : - enableval=$enable_layout; LAYOUT=$enableval -fi - - -if test "x$LAYOUT" = "x"; then - LAYOUT="relative" -fi - - if test ! -f $srcdir/config.layout; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Layout file $srcdir/config.layout not found" >&5 -$as_echo "$as_me: WARNING: Layout file $srcdir/config.layout not found" >&2;} - rt_layout_name=no - else - pldconf=./config.pld - $PERL -0777 -p -e "\$layout = '$LAYOUT';" -e ' - s/.*//gims; - s/\<\/Layout\>.*//s; - s/^#.*$//m; - s/^\s+//gim; - s/\s+$/\n/gim; - s/\+$/\/rt3/gim; - # m4 will not let us just use $srcdir/config.layout, we need @S|@1 - s/^\s*((?:bin|sbin|libexec|data|sysconf|sharedstate|localstate|lib|include|oldinclude|info|man|html)dir)\s*:\s*(.*)$/@S|@1=@S|@2/gim; - s/^\s*(.*?)\s*:\s*(.*)$/\(test "x\@S|@@S|@1" = "xNONE" || test "x\@S|@@S|@1" = "x") && @S|@1=@S|@2/gim; - ' < $srcdir/config.layout > $pldconf - - if test -s $pldconf; then - rt_layout_name=$LAYOUT - . $pldconf - - for var in prefix exec_prefix bindir sbindir \ - sysconfdir mandir libdir datadir htmldir fontdir\ - localstatedir logfiledir masonstatedir \ - sessionstatedir customdir custometcdir customhtmldir \ - customlexdir customlibdir manualdir; do - eval "val=\"\$$var\"" - val=`echo $val | sed -e 's:\(.\)/*$:\1:'` - val=`echo $val | - sed -e 's:[\$]\([a-z_]*\):$\1:g'` - eval "$var='$val'" - done - - else - rt_layout_name=no - fi - #rm $pldconf - fi - - - ap_last='' - ap_cur='$prefix' - while test "x${ap_cur}" != "x${ap_last}"; do - ap_last="${ap_cur}" - ap_cur=`eval "echo ${ap_cur}"` - done - exp_prefix="${ap_cur}" - - - - - - - ap_last='' - ap_cur='$exec_prefix' - while test "x${ap_cur}" != "x${ap_last}"; do - ap_last="${ap_cur}" - ap_cur=`eval "echo ${ap_cur}"` - done - exp_exec_prefix="${ap_cur}" - - - - - - - ap_last='' - ap_cur='$bindir' - while test "x${ap_cur}" != "x${ap_last}"; do - ap_last="${ap_cur}" - ap_cur=`eval "echo ${ap_cur}"` - done - exp_bindir="${ap_cur}" - - - - - - - ap_last='' - ap_cur='$sbindir' - while test "x${ap_cur}" != "x${ap_last}"; do - ap_last="${ap_cur}" - ap_cur=`eval "echo ${ap_cur}"` - done - exp_sbindir="${ap_cur}" - - - - - - - ap_last='' - ap_cur='$sysconfdir' - while test "x${ap_cur}" != "x${ap_last}"; do - ap_last="${ap_cur}" - ap_cur=`eval "echo ${ap_cur}"` - done - exp_sysconfdir="${ap_cur}" - - - - - - - ap_last='' - ap_cur='$mandir' - while test "x${ap_cur}" != "x${ap_last}"; do - ap_last="${ap_cur}" - ap_cur=`eval "echo ${ap_cur}"` - done - exp_mandir="${ap_cur}" - - - - - - - ap_last='' - ap_cur='$libdir' - while test "x${ap_cur}" != "x${ap_last}"; do - ap_last="${ap_cur}" - ap_cur=`eval "echo ${ap_cur}"` - done - exp_libdir="${ap_cur}" - - - - - - - ap_last='' - ap_cur='$datadir' - while test "x${ap_cur}" != "x${ap_last}"; do - ap_last="${ap_cur}" - ap_cur=`eval "echo ${ap_cur}"` - done - exp_datadir="${ap_cur}" - - - - - - - ap_last='' - ap_cur='$htmldir' - while test "x${ap_cur}" != "x${ap_last}"; do - ap_last="${ap_cur}" - ap_cur=`eval "echo ${ap_cur}"` - done - exp_htmldir="${ap_cur}" - - - - - - - ap_last='' - ap_cur='$fontdir' - while test "x${ap_cur}" != "x${ap_last}"; do - ap_last="${ap_cur}" - ap_cur=`eval "echo ${ap_cur}"` - done - exp_fontdir="${ap_cur}" - - - - - - - ap_last='' - ap_cur='$manualdir' - while test "x${ap_cur}" != "x${ap_last}"; do - ap_last="${ap_cur}" - ap_cur=`eval "echo ${ap_cur}"` - done - exp_manualdir="${ap_cur}" - - - - - - - ap_last='' - ap_cur='$plugindir' - while test "x${ap_cur}" != "x${ap_last}"; do - ap_last="${ap_cur}" - ap_cur=`eval "echo ${ap_cur}"` - done - exp_plugindir="${ap_cur}" - - - - - - - ap_last='' - ap_cur='$localstatedir' - while test "x${ap_cur}" != "x${ap_last}"; do - ap_last="${ap_cur}" - ap_cur=`eval "echo ${ap_cur}"` - done - exp_localstatedir="${ap_cur}" - - - - - - - ap_last='' - ap_cur='$logfiledir' - while test "x${ap_cur}" != "x${ap_last}"; do - ap_last="${ap_cur}" - ap_cur=`eval "echo ${ap_cur}"` - done - exp_logfiledir="${ap_cur}" - - - - - - - ap_last='' - ap_cur='$masonstatedir' - while test "x${ap_cur}" != "x${ap_last}"; do - ap_last="${ap_cur}" - ap_cur=`eval "echo ${ap_cur}"` - done - exp_masonstatedir="${ap_cur}" - - - - - - - ap_last='' - ap_cur='$sessionstatedir' - while test "x${ap_cur}" != "x${ap_last}"; do - ap_last="${ap_cur}" - ap_cur=`eval "echo ${ap_cur}"` - done - exp_sessionstatedir="${ap_cur}" - - - - - - - ap_last='' - ap_cur='$customdir' - while test "x${ap_cur}" != "x${ap_last}"; do - ap_last="${ap_cur}" - ap_cur=`eval "echo ${ap_cur}"` - done - exp_customdir="${ap_cur}" - - - - - - - ap_last='' - ap_cur='$custometcdir' - while test "x${ap_cur}" != "x${ap_last}"; do - ap_last="${ap_cur}" - ap_cur=`eval "echo ${ap_cur}"` - done - exp_custometcdir="${ap_cur}" - - - - - - - ap_last='' - ap_cur='$customhtmldir' - while test "x${ap_cur}" != "x${ap_last}"; do - ap_last="${ap_cur}" - ap_cur=`eval "echo ${ap_cur}"` - done - exp_customhtmldir="${ap_cur}" - - - - - - - ap_last='' - ap_cur='$customlexdir' - while test "x${ap_cur}" != "x${ap_last}"; do - ap_last="${ap_cur}" - ap_cur=`eval "echo ${ap_cur}"` - done - exp_customlexdir="${ap_cur}" - - - - - - - ap_last='' - ap_cur='$customlibdir' - while test "x${ap_cur}" != "x${ap_last}"; do - ap_last="${ap_cur}" - ap_cur=`eval "echo ${ap_cur}"` - done - exp_customlibdir="${ap_cur}" - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for chosen layout" >&5 -$as_echo_n "checking for chosen layout... " >&6; } -if test "x$rt_layout_name" = "xno"; then - if test "x$LAYOUT" = "xno"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 -$as_echo "none" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LAYOUT" >&5 -$as_echo "$LAYOUT" >&6; } - fi - as_fn_error $? "a valid layout must be specified (or the default used)" "$LINENO" 5 -else - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $rt_layout_name" >&5 -$as_echo "$rt_layout_name" >&6; } -fi -if test "x$rt_layout_name" != "xinplace" ; then - COMMENT_INPLACE_LAYOUT="" - -else - COMMENT_INPLACE_LAYOUT=# - -fi - - - -# ACRT_USER_EXISTS( users, variable, default ) -# - users is a list of users [www apache www-docs] -# from highest to lowest priority to high priority (i.e. first match) -# - variable is what you set with the result -# - - - - - -@%:@ Check whether --with-bin-owner was given. -if test "${with_bin_owner+set}" = set; then : - withval=$with_bin_owner; BIN_OWNER=$withval -else - BIN_OWNER=root -fi - - - - -@%:@ Check whether --with-libs-owner was given. -if test "${with_libs_owner+set}" = set; then : - withval=$with_libs_owner; LIBS_OWNER=$withval -else - LIBS_OWNER=root -fi - - - - -@%:@ Check whether --with-libs-group was given. -if test "${with_libs_group+set}" = set; then : - withval=$with_libs_group; LIBS_GROUP=$withval -else - LIBS_GROUP=bin -fi - - - - -@%:@ Check whether --with-db-type was given. -if test "${with_db_type+set}" = set; then : - withval=$with_db_type; DB_TYPE=$withval -else - DB_TYPE=mysql -fi - -if test "$DB_TYPE" != 'mysql' -a "$DB_TYPE" != 'Pg' -a "$DB_TYPE" != 'SQLite' -a "$DB_TYPE" != 'Oracle' -a "$DB_TYPE" != 'Informix' -a "$DB_TYPE" != 'Sybase' ; then - as_fn_error $? "Only Oracle, Pg, mysql and SQLite are valid db types" "$LINENO" 5 -fi - - -if test "$DB_TYPE" = 'Oracle'; then - test "x$ORACLE_HOME" = 'x' && as_fn_error $? "Please declare the ORACLE_HOME environment variable" "$LINENO" 5 - DATABASE_ENV_PREF="\$ENV{'ORACLE_HOME'} = '$ORACLE_HOME';" -fi - -if test "$DB_TYPE" = 'Sybase'; then - test "x$SYBASE" = 'x' && as_fn_error $? "Please declare the SYBASE_HOME environment variable" "$LINENO" 5 - DATABASE_ENV_PREF="\$ENV{'SYBASE'} = '$SYBASE';" -fi - - - -@%:@ Check whether --with-db-host was given. -if test "${with_db_host+set}" = set; then : - withval=$with_db_host; DB_HOST=$withval -else - DB_HOST=localhost -fi - - - - -@%:@ Check whether --with-db-port was given. -if test "${with_db_port+set}" = set; then : - withval=$with_db_port; DB_PORT=$withval -else - DB_PORT= -fi - - - - -@%:@ Check whether --with-db-rt-host was given. -if test "${with_db_rt_host+set}" = set; then : - withval=$with_db_rt_host; DB_RT_HOST=$withval -else - DB_RT_HOST=localhost -fi - - - -if test "$DB_TYPE" = "Pg" ; then - DB_DBA="postgres" -else - DB_DBA="root" -fi - -@%:@ Check whether --with-db-dba was given. -if test "${with_db_dba+set}" = set; then : - withval=$with_db_dba; DB_DBA=$withval -else - DB_DBA="$DB_DBA" -fi - - - - -@%:@ Check whether --with-db-database was given. -if test "${with_db_database+set}" = set; then : - withval=$with_db_database; DB_DATABASE=$withval -else - DB_DATABASE=rt3 -fi - - - - -@%:@ Check whether --with-db-rt-user was given. -if test "${with_db_rt_user+set}" = set; then : - withval=$with_db_rt_user; DB_RT_USER=$withval -else - DB_RT_USER=rt_user -fi - - - - -@%:@ Check whether --with-db-rt-pass was given. -if test "${with_db_rt_pass+set}" = set; then : - withval=$with_db_rt_pass; DB_RT_PASS=$withval -else - DB_RT_PASS=rt_pass -fi - - - - -@%:@ Check whether --with-web-user was given. -if test "${with_web_user+set}" = set; then : - withval=$with_web_user; WEB_USER=$withval -else - - WEB_USER=www - for x in www www-data apache httpd nobody; do - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if user $x exists" >&5 -$as_echo_n "checking if user $x exists... " >&6; } - if $PERL -e"exit( defined getpwnam('$x') ? 0 : 1)" ; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5 -$as_echo "found" >&6; }; WEB_USER=$x ; break -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 -$as_echo "not found" >&6; } -fi - done - - -fi - - - - -@%:@ Check whether --with-web-group was given. -if test "${with_web_group+set}" = set; then : - withval=$with_web_group; WEB_GROUP=$withval -else - - WEB_GROUP=www - for x in www www-data apache httpd nogroup nobody; do - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if group $x exists" >&5 -$as_echo_n "checking if group $x exists... " >&6; } - if $PERL -e"exit( defined getgrnam('$x') ? 0 : 1)" ; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5 -$as_echo "found" >&6; }; WEB_GROUP=$x ; break -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 -$as_echo "not found" >&6; } -fi - done - -fi - - - - -@%:@ Check whether --with-rt-group was given. -if test "${with_rt_group+set}" = set; then : - withval=$with_rt_group; RTGROUP=$withval -else - - RTGROUP=rt - for x in rt3 rt $WEB_GROUP; do - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if group $x exists" >&5 -$as_echo_n "checking if group $x exists... " >&6; } - if $PERL -e"exit( defined getgrnam('$x') ? 0 : 1)" ; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5 -$as_echo "found" >&6; }; RTGROUP=$x ; break -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 -$as_echo "not found" >&6; } -fi - done - -fi - - - -# XXX TODO: The command below to figure out the group brokenly relies on -# output order (and "id -gn" doesn't work on all platforms). -my_group=$(groups|cut -f1 -d' ') -my_user=${USER:-$LOGNAME} - -@%:@ Check whether --with-my-user-group was given. -if test "${with_my_user_group+set}" = set; then : - withval=$with_my_user_group; RTGROUP=$my_group - BIN_OWNER=$my_user - LIBS_OWNER=$my_user - LIBS_GROUP=$my_group - WEB_USER=$my_user - WEB_GROUP=$my_group -fi - - -# Test for valid database names -if test "$DB_TYPE" = "mysql" ; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if database name is valid" >&5 -$as_echo_n "checking if database name is valid... " >&6; } - if echo $DB_DATABASE | $AWK '/-/ { exit 1 }' ; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - as_fn_error $? "no. database name ($DB_DATABASE) contains '-' which is not valid for mysql" "$LINENO" 5 - -fi - - -fi - - - -@%:@ Check whether --with-apachectl was given. -if test "${with_apachectl+set}" = set; then : - withval=$with_apachectl; APACHECTL=$withval -else - APACHECTL=`which apachectl` -fi - - - - -@%:@ Check whether --with-devel-mode was given. -if test "${with_devel_mode+set}" = set; then : - withval=$with_devel_mode; RT_DEVEL_MODE=$withval -else - RT_DEVEL_MODE="0" -fi - -@%:@ Check whether --enable-devel-mode was given. -if test "${enable_devel_mode+set}" = set; then : - enableval=$enable_devel_mode; RT_DEVEL_MODE=$enableval -else - RT_DEVEL_MODE=$RT_DEVEL_MODE -fi - -if test "$RT_DEVEL_MODE" = yes; then - RT_DEVEL_MODE="1" -else - RT_DEVEL_MODE="0" -fi - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -else - CC="$ac_cv_prog_CC" -fi - -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - fi -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $@%:@ != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl.exe - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl.exe -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CC" && break -done - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi - - -test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "no acceptable C compiler found in \$PATH -See \`config.log' for more details" "$LINENO" 5 ; } - -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" -# Try to create an executable without -o first, disregard a.out. -# It will help us diagnose broken compilers, and finding out an intuition -# of exeext. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&6; } -ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` - -# The possible output files: -ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" - -ac_rmfiles= -for ac_file in $ac_files -do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - * ) ac_rmfiles="$ac_rmfiles $ac_file";; - esac -done -rm -f $ac_rmfiles - -if { { ac_try="$ac_link_default" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link_default") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. -# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' -# in a Makefile. We should not override ac_cv_exeext if it was cached, -# so that the user can short-circuit this test for compilers unknown to -# Autoconf. -for ac_file in $ac_files '' -do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) - ;; - [ab].out ) - # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; - then :; else - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - fi - # We set ac_cv_exeext here because the later test for it is not - # safe: cross compilers may not add the suffix if given an `-o' - # argument, so we may need to know it at that point already. - # Even if this section looks crufty: it has the advantage of - # actually working. - break;; - * ) - break;; - esac -done -test "$ac_cv_exeext" = no && ac_cv_exeext= - -else - ac_file='' -fi -if test -z "$ac_file"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "C compiler cannot create executables -See \`config.log' for more details" "$LINENO" 5 ; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 -$as_echo_n "checking for C compiler default output file name... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } -ac_exeext=$ac_cv_exeext - -rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 -$as_echo_n "checking for suffix of executables... " >&6; } -if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # If both `conftest.exe' and `conftest' are `present' (well, observable) -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -# work properly (i.e., refer to `conftest.exe'), while it won't with -# `rm'. -for ac_file in conftest.exe conftest conftest.*; do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - break;; - * ) break;; - esac -done -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details" "$LINENO" 5 ; } -fi -rm -f conftest conftest$ac_cv_exeext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 -$as_echo "$ac_cv_exeext" >&6; } - -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -@%:@include -int -main () -{ -FILE *f = fopen ("conftest.out", "w"); - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -ac_clean_files="$ac_clean_files conftest.out" -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } -if test "$cross_compiling" != yes; then - { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if { ac_try='./conftest$ac_cv_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details" "$LINENO" 5 ; } - fi - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } - -rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 -$as_echo_n "checking for suffix of object files... " >&6; } -if test "${ac_cv_objext+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.o conftest.obj -if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - for ac_file in conftest.o conftest.obj conftest.*; do - test -f "$ac_file" || continue; - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of object files: cannot compile -See \`config.log' for more details" "$LINENO" 5 ; } -fi -rm -f conftest.$ac_cv_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 -$as_echo "$ac_cv_objext" >&6; } -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 -$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if test "${ac_cv_c_compiler_gnu+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -$as_echo "$ac_cv_c_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GCC=yes -else - GCC= -fi -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if test "${ac_cv_prog_cc_g+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -else - CFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -$as_echo "$ac_cv_prog_cc_g" >&6; } -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if test "${ac_cv_prog_cc_c89+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; - -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_c89=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c89" != xno; then : - -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for aginitlib in -lgraph" >&5 -$as_echo_n "checking for aginitlib in -lgraph... " >&6; } -if test "${ac_cv_lib_graph_aginitlib+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lgraph $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char aginitlib (); -int -main () -{ -return aginitlib (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_graph_aginitlib=yes -else - ac_cv_lib_graph_aginitlib=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_graph_aginitlib" >&5 -$as_echo "$ac_cv_lib_graph_aginitlib" >&6; } -if test "x$ac_cv_lib_graph_aginitlib" = x""yes; then : - RT_GRAPHVIZ="1" -fi - - -@%:@ Check whether --with-graphviz was given. -if test "${with_graphviz+set}" = set; then : - withval=$with_graphviz; RT_GRAPHVIZ=$withval -fi - -@%:@ Check whether --enable-graphviz was given. -if test "${enable_graphviz+set}" = set; then : - enableval=$enable_graphviz; RT_GRAPHVIZ=$enableval -fi - -if test "$RT_GRAPHVIZ" = yes; then - RT_GRAPHVIZ="1" -else - RT_GRAPHVIZ="0" -fi - - -# Extract the first word of "gdlib-config", so it can be a program name with args. -set dummy gdlib-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_RT_GD+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$RT_GD"; then - ac_cv_prog_RT_GD="$RT_GD" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_RT_GD=""yes"" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - test -z "$ac_cv_prog_RT_GD" && ac_cv_prog_RT_GD=""no"" -fi -fi -RT_GD=$ac_cv_prog_RT_GD -if test -n "$RT_GD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RT_GD" >&5 -$as_echo "$RT_GD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - -@%:@ Check whether --with-gd was given. -if test "${with_gd+set}" = set; then : - withval=$with_gd; RT_GD=$withval -fi - -@%:@ Check whether --enable-gd was given. -if test "${enable_gd+set}" = set; then : - enableval=$enable_gd; RT_GD=$enableval -fi - -if test "$RT_GD" = yes; then - RT_GD="1" -else - RT_GD="0" -fi - - -# Extract the first word of "gpg", so it can be a program name with args. -set dummy gpg; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_RT_GPG+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$RT_GPG"; then - ac_cv_prog_RT_GPG="$RT_GPG" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_RT_GPG=""yes"" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - test -z "$ac_cv_prog_RT_GPG" && ac_cv_prog_RT_GPG=""no"" -fi -fi -RT_GPG=$ac_cv_prog_RT_GPG -if test -n "$RT_GPG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RT_GPG" >&5 -$as_echo "$RT_GPG" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -@%:@ Check whether --enable-gpg was given. -if test "${enable_gpg+set}" = set; then : - enableval=$enable_gpg; RT_GPG=$enableval -fi - -if test "$RT_GPG" = yes; then - RT_GPG="1" -else - RT_GPG="0" -fi - - - - -RT_VERSION_MAJOR=${rt_version_major} - -RT_VERSION_MINOR=${rt_version_minor} - -RT_VERSION_PATCH=${rt_version_patch} - - -RT_PATH=${exp_prefix} - -RT_DOC_PATH=${exp_manualdir} - -RT_LOCAL_PATH=${exp_customdir} - -RT_LIB_PATH=${exp_libdir} - -RT_ETC_PATH=${exp_sysconfdir} - -CONFIG_FILE_PATH=${exp_sysconfdir} - -RT_BIN_PATH=${exp_bindir} - -RT_SBIN_PATH=${exp_sbindir} - -RT_VAR_PATH=${exp_localstatedir} - -RT_MAN_PATH=${exp_mandir} - -RT_FONT_PATH=${exp_fontdir} - -RT_PLUGIN_PATH=${exp_plugindir} - -MASON_DATA_PATH=${exp_masonstatedir} - -MASON_SESSION_PATH=${exp_sessionstatedir} - -MASON_HTML_PATH=${exp_htmldir} - -LOCAL_ETC_PATH=${exp_custometcdir} - -MASON_LOCAL_HTML_PATH=${exp_customhtmldir} - -LOCAL_LEXICON_PATH=${exp_customlexdir} - -LOCAL_LIB_PATH=${exp_customlibdir} - -RT_LOG_PATH=${exp_logfiledir} - - -if test ${exp_sysconfdir} = "etc"; then -RT_PATH_R=${exp_prefix} - -RT_DOC_PATH_R=${exp_prefix}/${exp_manualdir} - -RT_LOCAL_PATH_R=${exp_prefix}/${exp_customdir} - -RT_LIB_PATH_R=${exp_prefix}/${exp_libdir} - -RT_ETC_PATH_R=${exp_prefix}/${exp_sysconfdir} - -CONFIG_FILE_PATH_R=${exp_prefix}/${exp_sysconfdir} - -RT_BIN_PATH_R=${exp_prefix}/${exp_bindir} - -RT_SBIN_PATH_R=${exp_prefix}/${exp_sbindir} - -RT_VAR_PATH_R=${exp_prefix}/${exp_localstatedir} - -RT_MAN_PATH_R=${exp_prefix}/${exp_mandir} - -RT_FONT_PATH_R=${exp_prefix}/${exp_fontdir} - -RT_PLUGIN_PATH_R=${exp_prefix}/${exp_plugindir} - -MASON_DATA_PATH_R=${exp_prefix}/${exp_masonstatedir} - -MASON_SESSION_PATH_R=${exp_prefix}/${exp_sessionstatedir} - -MASON_HTML_PATH_R=${exp_prefix}/${exp_htmldir} - -LOCAL_ETC_PATH_R=${exp_prefix}/${exp_custometcdir} - -MASON_LOCAL_HTML_PATH_R=${exp_prefix}/${exp_customhtmldir} - -LOCAL_LEXICON_PATH_R=${exp_prefix}/${exp_customlexdir} - -LOCAL_LIB_PATH_R=${exp_prefix}/${exp_customlibdir} - -RT_LOG_PATH_R=${exp_prefix}/${exp_logfiledir} - -else -RT_PATH_R=${exp_prefix} - -RT_DOC_PATH_R=${exp_manualdir} - -RT_LOCAL_PATH_R=${exp_customdir} - -RT_LIB_PATH_R=${exp_libdir} - -RT_ETC_PATH_R=${exp_sysconfdir} - -RT_PLUGIN_PATH_R=${exp_plugindir} - -CONFIG_FILE_PATH_R=${exp_sysconfdir} - -RT_BIN_PATH_R=${exp_bindir} - -RT_SBIN_PATH_R=${exp_sbindir} - -RT_VAR_PATH_R=${exp_localstatedir} - -RT_MAN_PATH_R=${exp_mandir} - -RT_FONT_PATH_R=${exp_fontdir} - -MASON_DATA_PATH_R=${exp_masonstatedir} - -MASON_SESSION_PATH_R=${exp_sessionstatedir} - -MASON_HTML_PATH_R=${exp_htmldir} - -LOCAL_ETC_PATH_R=${exp_custometcdir} - -MASON_LOCAL_HTML_PATH_R=${exp_customhtmldir} - -LOCAL_LEXICON_PATH_R=${exp_customlexdir} - -LOCAL_LIB_PATH_R=${exp_customlibdir} - -RT_LOG_PATH_R=${exp_logfiledir} - - -fi - - -ac_config_files="$ac_config_files etc/upgrade/3.8-branded-queues-extension etc/upgrade/3.8-ical-extension etc/upgrade/split-out-cf-categories etc/upgrade/generate-rtaddressregexp etc/upgrade/vulnerable-passwords sbin/rt-attributes-viewer sbin/rt-dump-database sbin/rt-setup-database sbin/rt-test-dependencies sbin/rt-email-digest sbin/rt-email-dashboards sbin/rt-clean-sessions sbin/rt-shredder sbin/rt-validator sbin/rt-email-group-admin sbin/rt-server bin/fastcgi_server bin/mason_handler.fcgi bin/mason_handler.scgi bin/standalone_httpd bin/rt-crontool bin/rt-mailgate bin/rt" - - -ac_config_files="$ac_config_files Makefile etc/RT_Config.pm lib/RT.pm bin/mason_handler.svc bin/webmux.pl t/data/configs/apache2.2+mod_perl.conf t/data/configs/apache2.2+fastcgi.conf" - -cat >confcache <<\_ACEOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs, see configure's option --config-cache. -# It is not useful on other systems. If it contains results you don't -# want to keep, you may remove or edit it. -# -# config.status only pays attention to the cache file if you give it -# the --recheck option to rerun configure. -# -# `ac_cv_env_foo' variables (set or unset) will be overridden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the -# following values. - -_ACEOF - -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, we kill variables containing newlines. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -( - for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - - (set) 2>&1 | - case $as_nl`(ac_space=' '; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes: double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \. - sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; #( - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) | - sed ' - /^ac_cv_env_/b end - t clear - :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - :end' >>confcache -if diff "$cache_file" confcache >/dev/null 2>&1; then :; else - if test -w "$cache_file"; then - test "x$cache_file" != "x/dev/null" && - { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -$as_echo "$as_me: updating cache $cache_file" >&6;} - cat confcache >$cache_file - else - { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} - fi -fi -rm -f confcache - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -# Transform confdefs.h into DEFS. -# Protect against shell expansion while executing Makefile rules. -# Protect against Makefile macro expansion. -# -# If the first sed substitution is executed (which looks for macros that -# take arguments), then branch to the quote section. Otherwise, -# look for a macro that doesn't take arguments. -ac_script=' -:mline -/\\$/{ - N - s,\\\n,, - b mline -} -t clear -:clear -s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g -t quote -s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g -t quote -b any -:quote -s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g -s/\[/\\&/g -s/\]/\\&/g -s/\$/$$/g -H -:any -${ - g - s/^\n// - s/\n/ /g - p -} -' -DEFS=`sed -n "$ac_script" confdefs.h` - - -ac_libobjs= -ac_ltlibobjs= -U= -for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue - # 1. Remove the extension, and $U if already installed. - ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`$as_echo "$ac_i" | sed "$ac_script"` - # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR - # will be set to the directory where LIBOBJS objects are built. - as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" - as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' -done -LIB@&t@OBJS=$ac_libobjs - -LTLIBOBJS=$ac_ltlibobjs - - - -: ${CONFIG_STATUS=./config.status} -ac_write_fail=0 -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -as_write_fail=0 -cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 -#! $SHELL -# Generated by $as_me. -# Run this file to recreate the current configuration. -# Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. - -debug=false -ac_cs_recheck=false -ac_cs_silent=false - -SHELL=\${CONFIG_SHELL-$SHELL} -export SHELL -_ASEOF -cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in @%:@( - *posix*) : - set -o posix ;; @%:@( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in @%:@( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -case $0 in @%:@(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - - -@%:@ as_fn_error STATUS ERROR [LINENO LOG_FD] -@%:@ ---------------------------------------- -@%:@ Output "`basename @S|@0`: error: ERROR" to stderr. If LINENO and LOG_FD are -@%:@ provided, also output the error to LOG_FD, referencing LINENO. Then exit the -@%:@ script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} @%:@ as_fn_error - - -@%:@ as_fn_set_status STATUS -@%:@ ----------------------- -@%:@ Set @S|@? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} @%:@ as_fn_set_status - -@%:@ as_fn_exit STATUS -@%:@ ----------------- -@%:@ Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} @%:@ as_fn_exit - -@%:@ as_fn_unset VAR -@%:@ --------------- -@%:@ Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset -@%:@ as_fn_append VAR VALUE -@%:@ ---------------------- -@%:@ Append the text in VALUE to the end of the definition contained in VAR. Take -@%:@ advantage of any shell optimizations that allow amortized linear growth over -@%:@ repeated appends, instead of the typical quadratic growth present in naive -@%:@ implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -@%:@ as_fn_arith ARG... -@%:@ ------------------ -@%:@ Perform arithmetic evaluation on the ARGs, and store the result in the -@%:@ global @S|@as_val. Take advantage of shells that can avoid forks. The arguments -@%:@ must be portable across @S|@(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in @%:@((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -p' - fi -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - - -@%:@ as_fn_mkdir_p -@%:@ ------------- -@%:@ Create "@S|@as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} @%:@ as_fn_mkdir_p -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in @%:@( - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in @%:@(( - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -exec 6>&1 -## ----------------------------------- ## -## Main body of $CONFIG_STATUS script. ## -## ----------------------------------- ## -_ASEOF -test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# Save the log message, to keep $0 and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. -ac_log=" -This file was extended by RT $as_me 3.8.11, which was -generated by GNU Autoconf 2.67. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -on `(hostname || uname -n) 2>/dev/null | sed 1q` -" - -_ACEOF - -case $ac_config_files in *" -"*) set x $ac_config_files; shift; ac_config_files=$*;; -esac - - - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# Files that config.status was made for. -config_files="$ac_config_files" - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -ac_cs_usage="\ -\`$as_me' instantiates files and other configuration actions -from templates according to the current configuration. Unless the files -and actions are specified as TAGs, all are instantiated by default. - -Usage: $0 [OPTION]... [TAG]... - - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit - --config print configuration, then exit - -q, --quiet, --silent - do not print progress messages - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - -Configuration files: -$config_files - -Report bugs to ." - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" -ac_cs_version="\\ -RT config.status 3.8.11 -configured by $0, generated by GNU Autoconf 2.67, - with options \\"\$ac_cs_config\\" - -Copyright (C) 2010 Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." - -ac_pwd='$ac_pwd' -srcdir='$srcdir' -INSTALL='$INSTALL' -AWK='$AWK' -test -n "\$AWK" || AWK=awk -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# The default lists apply if the user does not specify any file. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=?*) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` - ac_shift=: - ;; - --*=) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg= - ac_shift=: - ;; - *) - ac_option=$1 - ac_optarg=$2 - ac_shift=shift - ;; - esac - - case $ac_option in - # Handling of the options. - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - ac_cs_recheck=: ;; - --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - $as_echo "$ac_cs_version"; exit ;; - --config | --confi | --conf | --con | --co | --c ) - $as_echo "$ac_cs_config"; exit ;; - --debug | --debu | --deb | --de | --d | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - '') as_fn_error $? "missing file argument" ;; - esac - as_fn_append CONFIG_FILES " '$ac_optarg'" - ac_need_defaults=false;; - --he | --h | --help | --hel | -h ) - $as_echo "$ac_cs_usage"; exit ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; - - # This is an error. - -*) as_fn_error $? "unrecognized option: \`$1' -Try \`$0 --help' for more information." ;; - - *) as_fn_append ac_config_targets " $1" - ac_need_defaults=false ;; - - esac - shift -done - -ac_configure_extra_args= - -if $ac_cs_silent; then - exec 6>/dev/null - ac_configure_extra_args="$ac_configure_extra_args --silent" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -if \$ac_cs_recheck; then - set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion - shift - \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 - CONFIG_SHELL='$SHELL' - export CONFIG_SHELL - exec "\$@" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX -@%:@@%:@ Running $as_me. @%:@@%:@ -_ASBOX - $as_echo "$ac_log" -} >&5 - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - -# Handling of arguments. -for ac_config_target in $ac_config_targets -do - case $ac_config_target in - "etc/upgrade/3.8-branded-queues-extension") CONFIG_FILES="$CONFIG_FILES etc/upgrade/3.8-branded-queues-extension" ;; - "etc/upgrade/3.8-ical-extension") CONFIG_FILES="$CONFIG_FILES etc/upgrade/3.8-ical-extension" ;; - "etc/upgrade/split-out-cf-categories") CONFIG_FILES="$CONFIG_FILES etc/upgrade/split-out-cf-categories" ;; - "etc/upgrade/generate-rtaddressregexp") CONFIG_FILES="$CONFIG_FILES etc/upgrade/generate-rtaddressregexp" ;; - "etc/upgrade/vulnerable-passwords") CONFIG_FILES="$CONFIG_FILES etc/upgrade/vulnerable-passwords" ;; - "sbin/rt-attributes-viewer") CONFIG_FILES="$CONFIG_FILES sbin/rt-attributes-viewer" ;; - "sbin/rt-dump-database") CONFIG_FILES="$CONFIG_FILES sbin/rt-dump-database" ;; - "sbin/rt-setup-database") CONFIG_FILES="$CONFIG_FILES sbin/rt-setup-database" ;; - "sbin/rt-test-dependencies") CONFIG_FILES="$CONFIG_FILES sbin/rt-test-dependencies" ;; - "sbin/rt-email-digest") CONFIG_FILES="$CONFIG_FILES sbin/rt-email-digest" ;; - "sbin/rt-email-dashboards") CONFIG_FILES="$CONFIG_FILES sbin/rt-email-dashboards" ;; - "sbin/rt-clean-sessions") CONFIG_FILES="$CONFIG_FILES sbin/rt-clean-sessions" ;; - "sbin/rt-shredder") CONFIG_FILES="$CONFIG_FILES sbin/rt-shredder" ;; - "sbin/rt-validator") CONFIG_FILES="$CONFIG_FILES sbin/rt-validator" ;; - "sbin/rt-email-group-admin") CONFIG_FILES="$CONFIG_FILES sbin/rt-email-group-admin" ;; - "sbin/rt-server") CONFIG_FILES="$CONFIG_FILES sbin/rt-server" ;; - "bin/fastcgi_server") CONFIG_FILES="$CONFIG_FILES bin/fastcgi_server" ;; - "bin/mason_handler.fcgi") CONFIG_FILES="$CONFIG_FILES bin/mason_handler.fcgi" ;; - "bin/mason_handler.scgi") CONFIG_FILES="$CONFIG_FILES bin/mason_handler.scgi" ;; - "bin/standalone_httpd") CONFIG_FILES="$CONFIG_FILES bin/standalone_httpd" ;; - "bin/rt-crontool") CONFIG_FILES="$CONFIG_FILES bin/rt-crontool" ;; - "bin/rt-mailgate") CONFIG_FILES="$CONFIG_FILES bin/rt-mailgate" ;; - "bin/rt") CONFIG_FILES="$CONFIG_FILES bin/rt" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "etc/RT_Config.pm") CONFIG_FILES="$CONFIG_FILES etc/RT_Config.pm" ;; - "lib/RT.pm") CONFIG_FILES="$CONFIG_FILES lib/RT.pm" ;; - "bin/mason_handler.svc") CONFIG_FILES="$CONFIG_FILES bin/mason_handler.svc" ;; - "bin/webmux.pl") CONFIG_FILES="$CONFIG_FILES bin/webmux.pl" ;; - "t/data/configs/apache2.2+mod_perl.conf") CONFIG_FILES="$CONFIG_FILES t/data/configs/apache2.2+mod_perl.conf" ;; - "t/data/configs/apache2.2+fastcgi.conf") CONFIG_FILES="$CONFIG_FILES t/data/configs/apache2.2+fastcgi.conf" ;; - - *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;; - esac -done - - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files -fi - -# Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason against having it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Hook for its removal unless debugging. -# Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. -$debug || -{ - tmp= - trap 'exit_status=$? - { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status -' 0 - trap 'as_fn_exit 1' 1 2 13 15 -} -# Create a (secure) tmp directory for tmp files. - -{ - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -n "$tmp" && test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 - -# Set up the scripts for CONFIG_FILES section. -# No need to generate them if there are no CONFIG_FILES. -# This happens for instance with `./config.status config.h'. -if test -n "$CONFIG_FILES"; then - - -ac_cr=`echo X | tr X '\015'` -# On cygwin, bash can eat \r inside `` if the user requested igncr. -# But we know of no other shell where ac_cr would be empty at this -# point, so we can use a bashism as a fallback. -if test "x$ac_cr" = x; then - eval ac_cr=\$\'\\r\' -fi -ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` -if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\\r' -else - ac_cs_awk_cr=$ac_cr -fi - -echo 'BEGIN {' >"$tmp/subs1.awk" && -_ACEOF - - -{ - echo "cat >conf$$subs.awk <<_ACEOF" && - echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && - echo "_ACEOF" -} >conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - . ./conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - - ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` - if test $ac_delim_n = $ac_delim_num; then - break - elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done -rm -f conf$$subs.sh - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$tmp/subs1.awk" <<\\_ACAWK && -_ACEOF -sed -n ' -h -s/^/S["/; s/!.*/"]=/ -p -g -s/^[^!]*!// -:repl -t repl -s/'"$ac_delim"'$// -t delim -:nl -h -s/\(.\{148\}\)..*/\1/ -t more1 -s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ -p -n -b repl -:more1 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t nl -:delim -h -s/\(.\{148\}\)..*/\1/ -t more2 -s/["\\]/\\&/g; s/^/"/; s/$/"/ -p -b -:more2 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t delim -' >$CONFIG_STATUS || ac_write_fail=1 -rm -f conf$$subs.awk -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -_ACAWK -cat >>"\$tmp/subs1.awk" <<_ACAWK && - for (key in S) S_is_set[key] = 1 - FS = "" - -} -{ - line = $ 0 - nfields = split(line, field, "@") - substed = 0 - len = length(field[1]) - for (i = 2; i < nfields; i++) { - key = field[i] - keylen = length(key) - if (S_is_set[key]) { - value = S[key] - line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) - len += length(value) + length(field[++i]) - substed = 1 - } else - len += 1 + keylen - } - - print line -} - -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then - sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" -else - cat -fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ - || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 -_ACEOF - -# VPATH may cause trouble with some makes, so we remove sole $(srcdir), -# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ -h -s/// -s/^/:/ -s/[ ]*$/:/ -s/:\$(srcdir):/:/g -s/:\${srcdir}:/:/g -s/:@srcdir@:/:/g -s/^:*// -s/:*$// -x -s/\(=[ ]*\).*/\1/ -G -s/\n// -s/^[^=]*=[ ]*$// -}' -fi - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -fi # test -n "$CONFIG_FILES" - - -eval set X " :F $CONFIG_FILES " -shift -for ac_tag -do - case $ac_tag in - :[FHLC]) ac_mode=$ac_tag; continue;; - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; - :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5 ;; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; - esac - ac_save_IFS=$IFS - IFS=: - set x $ac_tag - IFS=$ac_save_IFS - shift - ac_file=$1 - shift - - case $ac_mode in - :L) ac_source=$1;; - :[FH]) - ac_file_inputs= - for ac_f - do - case $ac_f in - -) ac_f="$tmp/stdin";; - *) # Look for the file first in the build tree, then in the source tree - # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. - test -f "$ac_f" || - case $ac_f in - [\\/$]*) false;; - *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; - esac || - as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5 ;; - esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - as_fn_append ac_file_inputs " '$ac_f'" - done - - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - configure_input='Generated from '` - $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' - `' by configure.' - if test x"$ac_file" != x-; then - configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -$as_echo "$as_me: creating $ac_file" >&6;} - fi - # Neutralize special characters interpreted by sed in replacement strings. - case $configure_input in #( - *\&* | *\|* | *\\* ) - ac_sed_conf_input=`$as_echo "$configure_input" | - sed 's/[\\\\&|]/\\\\&/g'`;; #( - *) ac_sed_conf_input=$configure_input;; - esac - - case $ac_tag in - *:-:* | *:-) cat >"$tmp/stdin" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; - esac - ;; - esac - - ac_dir=`$as_dirname -- "$ac_file" || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir="$ac_dir"; as_fn_mkdir_p - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - - case $ac_mode in - :F) - # - # CONFIG_FILE - # - - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; - esac -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# If the template does not know about datarootdir, expand it. -# FIXME: This hack should be removed a few years after 2.60. -ac_datarootdir_hack=; ac_datarootdir_seen= -ac_sed_dataroot=' -/datarootdir/ { - p - q -} -/@datadir@/p -/@docdir@/p -/@infodir@/p -/@localedir@/p -/@mandir@/p' -case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in -*datarootdir*) ac_datarootdir_seen=yes;; -*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - ac_datarootdir_hack=' - s&@datadir@&$datadir&g - s&@docdir@&$docdir&g - s&@infodir@&$infodir&g - s&@localedir@&$localedir&g - s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; -esac -_ACEOF - -# Neutralize VPATH when `$srcdir' = `.'. -# Shell code in configure.ac might set extrasub. -# FIXME: do we really want to maintain this feature? -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_sed_extra="$ac_vpsub -$extrasub -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s|@configure_input@|$ac_sed_conf_input|;t t -s&@top_builddir@&$ac_top_builddir_sub&;t t -s&@top_build_prefix@&$ac_top_build_prefix&;t t -s&@srcdir@&$ac_srcdir&;t t -s&@abs_srcdir@&$ac_abs_srcdir&;t t -s&@top_srcdir@&$ac_top_srcdir&;t t -s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -s&@builddir@&$ac_builddir&;t t -s&@abs_builddir@&$ac_abs_builddir&;t t -s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -s&@INSTALL@&$ac_INSTALL&;t t -$ac_datarootdir_hack -" -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - -test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&5 -$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&2;} - - rm -f "$tmp/stdin" - case $ac_file in - -) cat "$tmp/out" && rm -f "$tmp/out";; - *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; - esac \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - ;; - - - - esac - - - case $ac_file$ac_mode in - "etc/upgrade/3.8-branded-queues-extension":F) chmod ug+x $ac_file - ;; - "etc/upgrade/3.8-ical-extension":F) chmod ug+x $ac_file - ;; - "etc/upgrade/split-out-cf-categories":F) chmod ug+x $ac_file - ;; - "etc/upgrade/generate-rtaddressregexp":F) chmod ug+x $ac_file - ;; - "etc/upgrade/vulnerable-passwords":F) chmod ug+x $ac_file - ;; - "sbin/rt-attributes-viewer":F) chmod ug+x $ac_file - ;; - "sbin/rt-dump-database":F) chmod ug+x $ac_file - ;; - "sbin/rt-setup-database":F) chmod ug+x $ac_file - ;; - "sbin/rt-test-dependencies":F) chmod ug+x $ac_file - ;; - "sbin/rt-email-digest":F) chmod ug+x $ac_file - ;; - "sbin/rt-email-dashboards":F) chmod ug+x $ac_file - ;; - "sbin/rt-clean-sessions":F) chmod ug+x $ac_file - ;; - "sbin/rt-shredder":F) chmod ug+x $ac_file - ;; - "sbin/rt-validator":F) chmod ug+x $ac_file - ;; - "sbin/rt-email-group-admin":F) chmod ug+x $ac_file - ;; - "sbin/rt-server":F) chmod ug+x $ac_file - ;; - "bin/fastcgi_server":F) chmod ug+x $ac_file - ;; - "bin/mason_handler.fcgi":F) chmod ug+x $ac_file - ;; - "bin/mason_handler.scgi":F) chmod ug+x $ac_file - ;; - "bin/standalone_httpd":F) chmod ug+x $ac_file - ;; - "bin/rt-crontool":F) chmod ug+x $ac_file - ;; - "bin/rt-mailgate":F) chmod ug+x $ac_file - ;; - "bin/rt":F) chmod ug+x $ac_file - ;; - - esac -done # for ac_tag - - -as_fn_exit 0 -_ACEOF -ac_clean_files=$ac_clean_files_save - -test $ac_write_fail = 0 || - as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 - - -# configure is writing to config.log, and then calls config.status. -# config.status does its own redirection, appending to config.log. -# Unfortunately, on DOS this fails, as config.log is still kept open -# by configure, so config.status won't be able to write to it; its -# output is simply discarded. So we exec the FD to /dev/null, -# effectively closing config.log, so it can be properly (re)opened and -# appended to by config.status. When coming back to configure, we -# need to make the FD available again. -if test "$no_create" != yes; then - ac_cs_success=: - ac_config_status_args= - test "$silent" = yes && - ac_config_status_args="$ac_config_status_args --quiet" - exec 5>/dev/null - $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false - exec 5>>config.log - # Use ||, not &&, to avoid exiting from the if with $? = 1, which - # would make configure fail if this is the last instruction. - $ac_cs_success || as_fn_exit 1 -fi -if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} -fi - diff --git a/rt/autom4te.cache/requests b/rt/autom4te.cache/requests deleted file mode 100644 index 86bf57d16..000000000 --- a/rt/autom4te.cache/requests +++ /dev/null @@ -1,68 +0,0 @@ -# This file was generated by Autom4te Thu Aug 5 21:29:16 UTC 2010. -# It contains the lists of macros which have been traced. -# It can be safely removed. - -@request = ( - bless( [ - '0', - 1, - [ - '/usr/share/autoconf' - ], - [ - '/usr/share/autoconf/autoconf/autoconf.m4f', - 'aclocal.m4', - 'configure.ac' - ], - { - '_LT_AC_TAGCONFIG' => 1, - 'AM_PROG_F77_C_O' => 1, - 'AC_INIT' => 1, - 'm4_pattern_forbid' => 1, - '_AM_COND_IF' => 1, - 'AC_CANONICAL_TARGET' => 1, - 'AC_SUBST' => 1, - 'AC_CONFIG_LIBOBJ_DIR' => 1, - 'AC_FC_SRCEXT' => 1, - 'AC_CANONICAL_HOST' => 1, - 'AC_PROG_LIBTOOL' => 1, - 'AM_INIT_AUTOMAKE' => 1, - 'AC_CONFIG_SUBDIRS' => 1, - 'AM_AUTOMAKE_VERSION' => 1, - 'LT_CONFIG_LTDL_DIR' => 1, - 'AC_REQUIRE_AUX_FILE' => 1, - 'AC_CONFIG_LINKS' => 1, - 'm4_sinclude' => 1, - 'LT_SUPPORTED_TAG' => 1, - 'AM_MAINTAINER_MODE' => 1, - 'AM_GNU_GETTEXT_INTL_SUBDIR' => 1, - '_m4_warn' => 1, - 'AM_PROG_CXX_C_O' => 1, - '_AM_COND_ENDIF' => 1, - 'AM_ENABLE_MULTILIB' => 1, - 'AM_SILENT_RULES' => 1, - 'AC_CONFIG_FILES' => 1, - 'include' => 1, - 'LT_INIT' => 1, - 'AM_GNU_GETTEXT' => 1, - 'AC_LIBSOURCE' => 1, - 'AM_PROG_FC_C_O' => 1, - 'AC_CANONICAL_BUILD' => 1, - 'AC_FC_FREEFORM' => 1, - 'AH_OUTPUT' => 1, - '_AM_SUBST_NOTMAKE' => 1, - 'AC_CONFIG_AUX_DIR' => 1, - 'sinclude' => 1, - 'm4_pattern_allow' => 1, - 'AM_PROG_CC_C_O' => 1, - 'AC_CANONICAL_SYSTEM' => 1, - 'AM_CONDITIONAL' => 1, - 'AC_CONFIG_HEADERS' => 1, - 'AC_DEFINE_TRACE_LITERAL' => 1, - 'm4_include' => 1, - '_AM_COND_ELSE' => 1, - 'AC_SUBST_TRACE' => 1 - } - ], 'Autom4te::Request' ) - ); - diff --git a/rt/autom4te.cache/traces.0 b/rt/autom4te.cache/traces.0 deleted file mode 100644 index 811900e97..000000000 --- a/rt/autom4te.cache/traces.0 +++ /dev/null @@ -1,727 +0,0 @@ -m4trace:configure.ac:10: -1- AC_INIT([RT], [3.8.11], [rt-bugs@bestpractical.com]) -m4trace:configure.ac:10: -1- m4_pattern_forbid([^_?A[CHUM]_]) -m4trace:configure.ac:10: -1- m4_pattern_forbid([_AC_]) -m4trace:configure.ac:10: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS']) -m4trace:configure.ac:10: -1- m4_pattern_allow([^AS_FLAGS$]) -m4trace:configure.ac:10: -1- m4_pattern_forbid([^_?m4_]) -m4trace:configure.ac:10: -1- m4_pattern_forbid([^dnl$]) -m4trace:configure.ac:10: -1- m4_pattern_forbid([^_?AS_]) -m4trace:configure.ac:10: -1- AC_SUBST([SHELL]) -m4trace:configure.ac:10: -1- AC_SUBST_TRACE([SHELL]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^SHELL$]) -m4trace:configure.ac:10: -1- AC_SUBST([PATH_SEPARATOR]) -m4trace:configure.ac:10: -1- AC_SUBST_TRACE([PATH_SEPARATOR]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^PATH_SEPARATOR$]) -m4trace:configure.ac:10: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME], ['AC_PACKAGE_NAME'])]) -m4trace:configure.ac:10: -1- AC_SUBST_TRACE([PACKAGE_NAME]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^PACKAGE_NAME$]) -m4trace:configure.ac:10: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME], ['AC_PACKAGE_TARNAME'])]) -m4trace:configure.ac:10: -1- AC_SUBST_TRACE([PACKAGE_TARNAME]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) -m4trace:configure.ac:10: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION], ['AC_PACKAGE_VERSION'])]) -m4trace:configure.ac:10: -1- AC_SUBST_TRACE([PACKAGE_VERSION]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^PACKAGE_VERSION$]) -m4trace:configure.ac:10: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING], ['AC_PACKAGE_STRING'])]) -m4trace:configure.ac:10: -1- AC_SUBST_TRACE([PACKAGE_STRING]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^PACKAGE_STRING$]) -m4trace:configure.ac:10: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])]) -m4trace:configure.ac:10: -1- AC_SUBST_TRACE([PACKAGE_BUGREPORT]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) -m4trace:configure.ac:10: -1- AC_SUBST([PACKAGE_URL], [m4_ifdef([AC_PACKAGE_URL], ['AC_PACKAGE_URL'])]) -m4trace:configure.ac:10: -1- AC_SUBST_TRACE([PACKAGE_URL]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^PACKAGE_URL$]) -m4trace:configure.ac:10: -1- AC_SUBST([exec_prefix], [NONE]) -m4trace:configure.ac:10: -1- AC_SUBST_TRACE([exec_prefix]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^exec_prefix$]) -m4trace:configure.ac:10: -1- AC_SUBST([prefix], [NONE]) -m4trace:configure.ac:10: -1- AC_SUBST_TRACE([prefix]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^prefix$]) -m4trace:configure.ac:10: -1- AC_SUBST([program_transform_name], [s,x,x,]) -m4trace:configure.ac:10: -1- AC_SUBST_TRACE([program_transform_name]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^program_transform_name$]) -m4trace:configure.ac:10: -1- AC_SUBST([bindir], ['${exec_prefix}/bin']) -m4trace:configure.ac:10: -1- AC_SUBST_TRACE([bindir]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^bindir$]) -m4trace:configure.ac:10: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin']) -m4trace:configure.ac:10: -1- AC_SUBST_TRACE([sbindir]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^sbindir$]) -m4trace:configure.ac:10: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec']) -m4trace:configure.ac:10: -1- AC_SUBST_TRACE([libexecdir]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^libexecdir$]) -m4trace:configure.ac:10: -1- AC_SUBST([datarootdir], ['${prefix}/share']) -m4trace:configure.ac:10: -1- AC_SUBST_TRACE([datarootdir]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^datarootdir$]) -m4trace:configure.ac:10: -1- AC_SUBST([datadir], ['${datarootdir}']) -m4trace:configure.ac:10: -1- AC_SUBST_TRACE([datadir]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^datadir$]) -m4trace:configure.ac:10: -1- AC_SUBST([sysconfdir], ['${prefix}/etc']) -m4trace:configure.ac:10: -1- AC_SUBST_TRACE([sysconfdir]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^sysconfdir$]) -m4trace:configure.ac:10: -1- AC_SUBST([sharedstatedir], ['${prefix}/com']) -m4trace:configure.ac:10: -1- AC_SUBST_TRACE([sharedstatedir]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^sharedstatedir$]) -m4trace:configure.ac:10: -1- AC_SUBST([localstatedir], ['${prefix}/var']) -m4trace:configure.ac:10: -1- AC_SUBST_TRACE([localstatedir]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^localstatedir$]) -m4trace:configure.ac:10: -1- AC_SUBST([includedir], ['${prefix}/include']) -m4trace:configure.ac:10: -1- AC_SUBST_TRACE([includedir]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^includedir$]) -m4trace:configure.ac:10: -1- AC_SUBST([oldincludedir], ['/usr/include']) -m4trace:configure.ac:10: -1- AC_SUBST_TRACE([oldincludedir]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^oldincludedir$]) -m4trace:configure.ac:10: -1- AC_SUBST([docdir], [m4_ifset([AC_PACKAGE_TARNAME], - ['${datarootdir}/doc/${PACKAGE_TARNAME}'], - ['${datarootdir}/doc/${PACKAGE}'])]) -m4trace:configure.ac:10: -1- AC_SUBST_TRACE([docdir]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^docdir$]) -m4trace:configure.ac:10: -1- AC_SUBST([infodir], ['${datarootdir}/info']) -m4trace:configure.ac:10: -1- AC_SUBST_TRACE([infodir]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^infodir$]) -m4trace:configure.ac:10: -1- AC_SUBST([htmldir], ['${docdir}']) -m4trace:configure.ac:10: -1- AC_SUBST_TRACE([htmldir]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^htmldir$]) -m4trace:configure.ac:10: -1- AC_SUBST([dvidir], ['${docdir}']) -m4trace:configure.ac:10: -1- AC_SUBST_TRACE([dvidir]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^dvidir$]) -m4trace:configure.ac:10: -1- AC_SUBST([pdfdir], ['${docdir}']) -m4trace:configure.ac:10: -1- AC_SUBST_TRACE([pdfdir]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^pdfdir$]) -m4trace:configure.ac:10: -1- AC_SUBST([psdir], ['${docdir}']) -m4trace:configure.ac:10: -1- AC_SUBST_TRACE([psdir]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^psdir$]) -m4trace:configure.ac:10: -1- AC_SUBST([libdir], ['${exec_prefix}/lib']) -m4trace:configure.ac:10: -1- AC_SUBST_TRACE([libdir]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^libdir$]) -m4trace:configure.ac:10: -1- AC_SUBST([localedir], ['${datarootdir}/locale']) -m4trace:configure.ac:10: -1- AC_SUBST_TRACE([localedir]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^localedir$]) -m4trace:configure.ac:10: -1- AC_SUBST([mandir], ['${datarootdir}/man']) -m4trace:configure.ac:10: -1- AC_SUBST_TRACE([mandir]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^mandir$]) -m4trace:configure.ac:10: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^PACKAGE_NAME$]) -m4trace:configure.ac:10: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */ -@%:@undef PACKAGE_NAME]) -m4trace:configure.ac:10: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) -m4trace:configure.ac:10: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */ -@%:@undef PACKAGE_TARNAME]) -m4trace:configure.ac:10: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^PACKAGE_VERSION$]) -m4trace:configure.ac:10: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */ -@%:@undef PACKAGE_VERSION]) -m4trace:configure.ac:10: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^PACKAGE_STRING$]) -m4trace:configure.ac:10: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */ -@%:@undef PACKAGE_STRING]) -m4trace:configure.ac:10: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) -m4trace:configure.ac:10: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */ -@%:@undef PACKAGE_BUGREPORT]) -m4trace:configure.ac:10: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_URL]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^PACKAGE_URL$]) -m4trace:configure.ac:10: -1- AH_OUTPUT([PACKAGE_URL], [/* Define to the home page for this package. */ -@%:@undef PACKAGE_URL]) -m4trace:configure.ac:10: -1- AC_SUBST([DEFS]) -m4trace:configure.ac:10: -1- AC_SUBST_TRACE([DEFS]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^DEFS$]) -m4trace:configure.ac:10: -1- AC_SUBST([ECHO_C]) -m4trace:configure.ac:10: -1- AC_SUBST_TRACE([ECHO_C]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^ECHO_C$]) -m4trace:configure.ac:10: -1- AC_SUBST([ECHO_N]) -m4trace:configure.ac:10: -1- AC_SUBST_TRACE([ECHO_N]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^ECHO_N$]) -m4trace:configure.ac:10: -1- AC_SUBST([ECHO_T]) -m4trace:configure.ac:10: -1- AC_SUBST_TRACE([ECHO_T]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^ECHO_T$]) -m4trace:configure.ac:10: -1- AC_SUBST([LIBS]) -m4trace:configure.ac:10: -1- AC_SUBST_TRACE([LIBS]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^LIBS$]) -m4trace:configure.ac:10: -1- AC_SUBST([build_alias]) -m4trace:configure.ac:10: -1- AC_SUBST_TRACE([build_alias]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^build_alias$]) -m4trace:configure.ac:10: -1- AC_SUBST([host_alias]) -m4trace:configure.ac:10: -1- AC_SUBST_TRACE([host_alias]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^host_alias$]) -m4trace:configure.ac:10: -1- AC_SUBST([target_alias]) -m4trace:configure.ac:10: -1- AC_SUBST_TRACE([target_alias]) -m4trace:configure.ac:10: -1- m4_pattern_allow([^target_alias$]) -m4trace:configure.ac:14: -1- AC_SUBST([rt_version_major], [3]) -m4trace:configure.ac:14: -1- AC_SUBST_TRACE([rt_version_major]) -m4trace:configure.ac:14: -1- m4_pattern_allow([^rt_version_major$]) -m4trace:configure.ac:16: -1- AC_SUBST([rt_version_minor], [8]) -m4trace:configure.ac:16: -1- AC_SUBST_TRACE([rt_version_minor]) -m4trace:configure.ac:16: -1- m4_pattern_allow([^rt_version_minor$]) -m4trace:configure.ac:18: -1- AC_SUBST([rt_version_patch], [11]) -m4trace:configure.ac:18: -1- AC_SUBST_TRACE([rt_version_patch]) -m4trace:configure.ac:18: -1- m4_pattern_allow([^rt_version_patch$]) -m4trace:configure.ac:25: -1- AC_REQUIRE_AUX_FILE([install-sh]) -m4trace:configure.ac:25: -1- AC_SUBST([INSTALL_PROGRAM]) -m4trace:configure.ac:25: -1- AC_SUBST_TRACE([INSTALL_PROGRAM]) -m4trace:configure.ac:25: -1- m4_pattern_allow([^INSTALL_PROGRAM$]) -m4trace:configure.ac:25: -1- AC_SUBST([INSTALL_SCRIPT]) -m4trace:configure.ac:25: -1- AC_SUBST_TRACE([INSTALL_SCRIPT]) -m4trace:configure.ac:25: -1- m4_pattern_allow([^INSTALL_SCRIPT$]) -m4trace:configure.ac:25: -1- AC_SUBST([INSTALL_DATA]) -m4trace:configure.ac:25: -1- AC_SUBST_TRACE([INSTALL_DATA]) -m4trace:configure.ac:25: -1- m4_pattern_allow([^INSTALL_DATA$]) -m4trace:configure.ac:26: -1- AC_SUBST([AWK]) -m4trace:configure.ac:26: -1- AC_SUBST_TRACE([AWK]) -m4trace:configure.ac:26: -1- m4_pattern_allow([^AWK$]) -m4trace:configure.ac:27: -1- AC_SUBST([PERL]) -m4trace:configure.ac:27: -1- AC_SUBST_TRACE([PERL]) -m4trace:configure.ac:27: -1- m4_pattern_allow([^PERL$]) -m4trace:configure.ac:28: -1- AC_SUBST([PERL]) -m4trace:configure.ac:28: -1- AC_SUBST_TRACE([PERL]) -m4trace:configure.ac:28: -1- m4_pattern_allow([^PERL$]) -m4trace:configure.ac:36: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. -You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... -configure.ac:36: the top level]) -m4trace:configure.ac:48: -1- AC_SUBST([WEB_HANDLER]) -m4trace:configure.ac:48: -1- AC_SUBST_TRACE([WEB_HANDLER]) -m4trace:configure.ac:48: -1- m4_pattern_allow([^WEB_HANDLER$]) -m4trace:configure.ac:52: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. -You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... -configure.ac:52: the top level]) -m4trace:configure.ac:59: -1- AC_SUBST([SPEEDY_BIN]) -m4trace:configure.ac:59: -1- AC_SUBST_TRACE([SPEEDY_BIN]) -m4trace:configure.ac:59: -1- m4_pattern_allow([^SPEEDY_BIN$]) -m4trace:configure.ac:63: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. -You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... -aclocal.m4:26: RT_ENABLE_LAYOUT is expanded from... -configure.ac:63: the top level]) -m4trace:configure.ac:63: -1- AC_SUBST([prefix]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([prefix]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^prefix$]) -m4trace:configure.ac:63: -1- AC_SUBST([exp_prefix]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([exp_prefix]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^exp_prefix$]) -m4trace:configure.ac:63: -1- AC_SUBST([exec_prefix]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([exec_prefix]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^exec_prefix$]) -m4trace:configure.ac:63: -1- AC_SUBST([exp_exec_prefix]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([exp_exec_prefix]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^exp_exec_prefix$]) -m4trace:configure.ac:63: -1- AC_SUBST([bindir]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([bindir]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^bindir$]) -m4trace:configure.ac:63: -1- AC_SUBST([exp_bindir]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([exp_bindir]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^exp_bindir$]) -m4trace:configure.ac:63: -1- AC_SUBST([sbindir]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([sbindir]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^sbindir$]) -m4trace:configure.ac:63: -1- AC_SUBST([exp_sbindir]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([exp_sbindir]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^exp_sbindir$]) -m4trace:configure.ac:63: -1- AC_SUBST([sysconfdir]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([sysconfdir]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^sysconfdir$]) -m4trace:configure.ac:63: -1- AC_SUBST([exp_sysconfdir]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([exp_sysconfdir]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^exp_sysconfdir$]) -m4trace:configure.ac:63: -1- AC_SUBST([mandir]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([mandir]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^mandir$]) -m4trace:configure.ac:63: -1- AC_SUBST([exp_mandir]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([exp_mandir]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^exp_mandir$]) -m4trace:configure.ac:63: -1- AC_SUBST([libdir]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([libdir]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^libdir$]) -m4trace:configure.ac:63: -1- AC_SUBST([exp_libdir]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([exp_libdir]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^exp_libdir$]) -m4trace:configure.ac:63: -1- AC_SUBST([datadir]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([datadir]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^datadir$]) -m4trace:configure.ac:63: -1- AC_SUBST([exp_datadir]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([exp_datadir]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^exp_datadir$]) -m4trace:configure.ac:63: -1- AC_SUBST([htmldir]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([htmldir]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^htmldir$]) -m4trace:configure.ac:63: -1- AC_SUBST([exp_htmldir]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([exp_htmldir]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^exp_htmldir$]) -m4trace:configure.ac:63: -1- AC_SUBST([fontdir]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([fontdir]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^fontdir$]) -m4trace:configure.ac:63: -1- AC_SUBST([exp_fontdir]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([exp_fontdir]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^exp_fontdir$]) -m4trace:configure.ac:63: -1- AC_SUBST([manualdir]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([manualdir]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^manualdir$]) -m4trace:configure.ac:63: -1- AC_SUBST([exp_manualdir]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([exp_manualdir]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^exp_manualdir$]) -m4trace:configure.ac:63: -1- AC_SUBST([plugindir]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([plugindir]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^plugindir$]) -m4trace:configure.ac:63: -1- AC_SUBST([exp_plugindir]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([exp_plugindir]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^exp_plugindir$]) -m4trace:configure.ac:63: -1- AC_SUBST([localstatedir]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([localstatedir]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^localstatedir$]) -m4trace:configure.ac:63: -1- AC_SUBST([exp_localstatedir]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([exp_localstatedir]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^exp_localstatedir$]) -m4trace:configure.ac:63: -1- AC_SUBST([logfiledir]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([logfiledir]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^logfiledir$]) -m4trace:configure.ac:63: -1- AC_SUBST([exp_logfiledir]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([exp_logfiledir]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^exp_logfiledir$]) -m4trace:configure.ac:63: -1- AC_SUBST([masonstatedir]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([masonstatedir]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^masonstatedir$]) -m4trace:configure.ac:63: -1- AC_SUBST([exp_masonstatedir]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([exp_masonstatedir]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^exp_masonstatedir$]) -m4trace:configure.ac:63: -1- AC_SUBST([sessionstatedir]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([sessionstatedir]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^sessionstatedir$]) -m4trace:configure.ac:63: -1- AC_SUBST([exp_sessionstatedir]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([exp_sessionstatedir]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^exp_sessionstatedir$]) -m4trace:configure.ac:63: -1- AC_SUBST([customdir]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([customdir]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^customdir$]) -m4trace:configure.ac:63: -1- AC_SUBST([exp_customdir]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([exp_customdir]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^exp_customdir$]) -m4trace:configure.ac:63: -1- AC_SUBST([custometcdir]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([custometcdir]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^custometcdir$]) -m4trace:configure.ac:63: -1- AC_SUBST([exp_custometcdir]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([exp_custometcdir]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^exp_custometcdir$]) -m4trace:configure.ac:63: -1- AC_SUBST([customhtmldir]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([customhtmldir]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^customhtmldir$]) -m4trace:configure.ac:63: -1- AC_SUBST([exp_customhtmldir]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([exp_customhtmldir]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^exp_customhtmldir$]) -m4trace:configure.ac:63: -1- AC_SUBST([customlexdir]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([customlexdir]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^customlexdir$]) -m4trace:configure.ac:63: -1- AC_SUBST([exp_customlexdir]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([exp_customlexdir]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^exp_customlexdir$]) -m4trace:configure.ac:63: -1- AC_SUBST([customlibdir]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([customlibdir]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^customlibdir$]) -m4trace:configure.ac:63: -1- AC_SUBST([exp_customlibdir]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([exp_customlibdir]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^exp_customlibdir$]) -m4trace:configure.ac:63: -1- AC_SUBST([rt_layout_name]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([rt_layout_name]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^rt_layout_name$]) -m4trace:configure.ac:63: -1- AC_SUBST([COMMENT_INPLACE_LAYOUT], [""]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([COMMENT_INPLACE_LAYOUT]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^COMMENT_INPLACE_LAYOUT$]) -m4trace:configure.ac:63: -1- AC_SUBST([COMMENT_INPLACE_LAYOUT], [# ]) -m4trace:configure.ac:63: -1- AC_SUBST_TRACE([COMMENT_INPLACE_LAYOUT]) -m4trace:configure.ac:63: -1- m4_pattern_allow([^COMMENT_INPLACE_LAYOUT$]) -m4trace:configure.ac:95: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. -You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... -configure.ac:95: the top level]) -m4trace:configure.ac:99: -1- AC_SUBST([BIN_OWNER]) -m4trace:configure.ac:99: -1- AC_SUBST_TRACE([BIN_OWNER]) -m4trace:configure.ac:99: -1- m4_pattern_allow([^BIN_OWNER$]) -m4trace:configure.ac:103: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. -You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... -configure.ac:103: the top level]) -m4trace:configure.ac:107: -1- AC_SUBST([LIBS_OWNER]) -m4trace:configure.ac:107: -1- AC_SUBST_TRACE([LIBS_OWNER]) -m4trace:configure.ac:107: -1- m4_pattern_allow([^LIBS_OWNER$]) -m4trace:configure.ac:111: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. -You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... -configure.ac:111: the top level]) -m4trace:configure.ac:115: -1- AC_SUBST([LIBS_GROUP]) -m4trace:configure.ac:115: -1- AC_SUBST_TRACE([LIBS_GROUP]) -m4trace:configure.ac:115: -1- m4_pattern_allow([^LIBS_GROUP$]) -m4trace:configure.ac:119: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. -You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... -configure.ac:119: the top level]) -m4trace:configure.ac:126: -1- AC_SUBST([DB_TYPE]) -m4trace:configure.ac:126: -1- AC_SUBST_TRACE([DB_TYPE]) -m4trace:configure.ac:126: -1- m4_pattern_allow([^DB_TYPE$]) -m4trace:configure.ac:139: -1- AC_SUBST([DATABASE_ENV_PREF]) -m4trace:configure.ac:139: -1- AC_SUBST_TRACE([DATABASE_ENV_PREF]) -m4trace:configure.ac:139: -1- m4_pattern_allow([^DATABASE_ENV_PREF$]) -m4trace:configure.ac:143: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. -You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... -configure.ac:143: the top level]) -m4trace:configure.ac:147: -1- AC_SUBST([DB_HOST]) -m4trace:configure.ac:147: -1- AC_SUBST_TRACE([DB_HOST]) -m4trace:configure.ac:147: -1- m4_pattern_allow([^DB_HOST$]) -m4trace:configure.ac:151: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. -You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... -configure.ac:151: the top level]) -m4trace:configure.ac:155: -1- AC_SUBST([DB_PORT]) -m4trace:configure.ac:155: -1- AC_SUBST_TRACE([DB_PORT]) -m4trace:configure.ac:155: -1- m4_pattern_allow([^DB_PORT$]) -m4trace:configure.ac:159: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. -You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... -configure.ac:159: the top level]) -m4trace:configure.ac:163: -1- AC_SUBST([DB_RT_HOST]) -m4trace:configure.ac:163: -1- AC_SUBST_TRACE([DB_RT_HOST]) -m4trace:configure.ac:163: -1- m4_pattern_allow([^DB_RT_HOST$]) -m4trace:configure.ac:172: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. -You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... -configure.ac:172: the top level]) -m4trace:configure.ac:176: -1- AC_SUBST([DB_DBA]) -m4trace:configure.ac:176: -1- AC_SUBST_TRACE([DB_DBA]) -m4trace:configure.ac:176: -1- m4_pattern_allow([^DB_DBA$]) -m4trace:configure.ac:180: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. -You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... -configure.ac:180: the top level]) -m4trace:configure.ac:184: -1- AC_SUBST([DB_DATABASE]) -m4trace:configure.ac:184: -1- AC_SUBST_TRACE([DB_DATABASE]) -m4trace:configure.ac:184: -1- m4_pattern_allow([^DB_DATABASE$]) -m4trace:configure.ac:188: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. -You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... -configure.ac:188: the top level]) -m4trace:configure.ac:192: -1- AC_SUBST([DB_RT_USER]) -m4trace:configure.ac:192: -1- AC_SUBST_TRACE([DB_RT_USER]) -m4trace:configure.ac:192: -1- m4_pattern_allow([^DB_RT_USER$]) -m4trace:configure.ac:196: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. -You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... -configure.ac:196: the top level]) -m4trace:configure.ac:200: -1- AC_SUBST([DB_RT_PASS]) -m4trace:configure.ac:200: -1- AC_SUBST_TRACE([DB_RT_PASS]) -m4trace:configure.ac:200: -1- m4_pattern_allow([^DB_RT_PASS$]) -m4trace:configure.ac:204: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. -You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... -configure.ac:204: the top level]) -m4trace:configure.ac:209: -1- AC_SUBST([WEB_USER]) -m4trace:configure.ac:209: -1- AC_SUBST_TRACE([WEB_USER]) -m4trace:configure.ac:209: -1- m4_pattern_allow([^WEB_USER$]) -m4trace:configure.ac:213: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. -You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... -configure.ac:213: the top level]) -m4trace:configure.ac:217: -1- AC_SUBST([WEB_GROUP]) -m4trace:configure.ac:217: -1- AC_SUBST_TRACE([WEB_GROUP]) -m4trace:configure.ac:217: -1- m4_pattern_allow([^WEB_GROUP$]) -m4trace:configure.ac:221: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. -You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... -configure.ac:221: the top level]) -m4trace:configure.ac:225: -1- AC_SUBST([RTGROUP]) -m4trace:configure.ac:225: -1- AC_SUBST_TRACE([RTGROUP]) -m4trace:configure.ac:225: -1- m4_pattern_allow([^RTGROUP$]) -m4trace:configure.ac:233: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. -You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... -configure.ac:233: the top level]) -m4trace:configure.ac:255: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. -You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... -configure.ac:255: the top level]) -m4trace:configure.ac:259: -1- AC_SUBST([APACHECTL]) -m4trace:configure.ac:259: -1- AC_SUBST_TRACE([APACHECTL]) -m4trace:configure.ac:259: -1- m4_pattern_allow([^APACHECTL$]) -m4trace:configure.ac:264: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. -You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... -configure.ac:264: the top level]) -m4trace:configure.ac:273: -1- AC_SUBST([RT_DEVEL_MODE]) -m4trace:configure.ac:273: -1- AC_SUBST_TRACE([RT_DEVEL_MODE]) -m4trace:configure.ac:273: -1- m4_pattern_allow([^RT_DEVEL_MODE$]) -m4trace:configure.ac:276: -1- AC_SUBST([CC]) -m4trace:configure.ac:276: -1- AC_SUBST_TRACE([CC]) -m4trace:configure.ac:276: -1- m4_pattern_allow([^CC$]) -m4trace:configure.ac:276: -1- AC_SUBST([CFLAGS]) -m4trace:configure.ac:276: -1- AC_SUBST_TRACE([CFLAGS]) -m4trace:configure.ac:276: -1- m4_pattern_allow([^CFLAGS$]) -m4trace:configure.ac:276: -1- AC_SUBST([LDFLAGS]) -m4trace:configure.ac:276: -1- AC_SUBST_TRACE([LDFLAGS]) -m4trace:configure.ac:276: -1- m4_pattern_allow([^LDFLAGS$]) -m4trace:configure.ac:276: -1- AC_SUBST([LIBS]) -m4trace:configure.ac:276: -1- AC_SUBST_TRACE([LIBS]) -m4trace:configure.ac:276: -1- m4_pattern_allow([^LIBS$]) -m4trace:configure.ac:276: -1- AC_SUBST([CPPFLAGS]) -m4trace:configure.ac:276: -1- AC_SUBST_TRACE([CPPFLAGS]) -m4trace:configure.ac:276: -1- m4_pattern_allow([^CPPFLAGS$]) -m4trace:configure.ac:276: -1- AC_SUBST([CC]) -m4trace:configure.ac:276: -1- AC_SUBST_TRACE([CC]) -m4trace:configure.ac:276: -1- m4_pattern_allow([^CC$]) -m4trace:configure.ac:276: -1- AC_SUBST([CC]) -m4trace:configure.ac:276: -1- AC_SUBST_TRACE([CC]) -m4trace:configure.ac:276: -1- m4_pattern_allow([^CC$]) -m4trace:configure.ac:276: -1- AC_SUBST([CC]) -m4trace:configure.ac:276: -1- AC_SUBST_TRACE([CC]) -m4trace:configure.ac:276: -1- m4_pattern_allow([^CC$]) -m4trace:configure.ac:276: -1- AC_SUBST([CC]) -m4trace:configure.ac:276: -1- AC_SUBST_TRACE([CC]) -m4trace:configure.ac:276: -1- m4_pattern_allow([^CC$]) -m4trace:configure.ac:276: -1- AC_SUBST([ac_ct_CC]) -m4trace:configure.ac:276: -1- AC_SUBST_TRACE([ac_ct_CC]) -m4trace:configure.ac:276: -1- m4_pattern_allow([^ac_ct_CC$]) -m4trace:configure.ac:276: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext]) -m4trace:configure.ac:276: -1- AC_SUBST_TRACE([EXEEXT]) -m4trace:configure.ac:276: -1- m4_pattern_allow([^EXEEXT$]) -m4trace:configure.ac:276: -1- AC_SUBST([OBJEXT], [$ac_cv_objext]) -m4trace:configure.ac:276: -1- AC_SUBST_TRACE([OBJEXT]) -m4trace:configure.ac:276: -1- m4_pattern_allow([^OBJEXT$]) -m4trace:configure.ac:279: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. -You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... -configure.ac:279: the top level]) -m4trace:configure.ac:287: -1- AC_SUBST([RT_GRAPHVIZ]) -m4trace:configure.ac:287: -1- AC_SUBST_TRACE([RT_GRAPHVIZ]) -m4trace:configure.ac:287: -1- m4_pattern_allow([^RT_GRAPHVIZ$]) -m4trace:configure.ac:290: -1- AC_SUBST([RT_GD]) -m4trace:configure.ac:290: -1- AC_SUBST_TRACE([RT_GD]) -m4trace:configure.ac:290: -1- m4_pattern_allow([^RT_GD$]) -m4trace:configure.ac:293: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. -You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... -configure.ac:293: the top level]) -m4trace:configure.ac:301: -1- AC_SUBST([RT_GD]) -m4trace:configure.ac:301: -1- AC_SUBST_TRACE([RT_GD]) -m4trace:configure.ac:301: -1- m4_pattern_allow([^RT_GD$]) -m4trace:configure.ac:304: -1- AC_SUBST([RT_GPG]) -m4trace:configure.ac:304: -1- AC_SUBST_TRACE([RT_GPG]) -m4trace:configure.ac:304: -1- m4_pattern_allow([^RT_GPG$]) -m4trace:configure.ac:306: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete. -You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from... -configure.ac:306: the top level]) -m4trace:configure.ac:314: -1- AC_SUBST([RT_GPG]) -m4trace:configure.ac:314: -1- AC_SUBST_TRACE([RT_GPG]) -m4trace:configure.ac:314: -1- m4_pattern_allow([^RT_GPG$]) -m4trace:configure.ac:322: -1- AC_SUBST([RT_VERSION_MAJOR], [${rt_version_major}]) -m4trace:configure.ac:322: -1- AC_SUBST_TRACE([RT_VERSION_MAJOR]) -m4trace:configure.ac:322: -1- m4_pattern_allow([^RT_VERSION_MAJOR$]) -m4trace:configure.ac:323: -1- AC_SUBST([RT_VERSION_MINOR], [${rt_version_minor}]) -m4trace:configure.ac:323: -1- AC_SUBST_TRACE([RT_VERSION_MINOR]) -m4trace:configure.ac:323: -1- m4_pattern_allow([^RT_VERSION_MINOR$]) -m4trace:configure.ac:324: -1- AC_SUBST([RT_VERSION_PATCH], [${rt_version_patch}]) -m4trace:configure.ac:324: -1- AC_SUBST_TRACE([RT_VERSION_PATCH]) -m4trace:configure.ac:324: -1- m4_pattern_allow([^RT_VERSION_PATCH$]) -m4trace:configure.ac:327: -1- AC_SUBST([RT_PATH], [${exp_prefix}]) -m4trace:configure.ac:327: -1- AC_SUBST_TRACE([RT_PATH]) -m4trace:configure.ac:327: -1- m4_pattern_allow([^RT_PATH$]) -m4trace:configure.ac:328: -1- AC_SUBST([RT_DOC_PATH], [${exp_manualdir}]) -m4trace:configure.ac:328: -1- AC_SUBST_TRACE([RT_DOC_PATH]) -m4trace:configure.ac:328: -1- m4_pattern_allow([^RT_DOC_PATH$]) -m4trace:configure.ac:329: -1- AC_SUBST([RT_LOCAL_PATH], [${exp_customdir}]) -m4trace:configure.ac:329: -1- AC_SUBST_TRACE([RT_LOCAL_PATH]) -m4trace:configure.ac:329: -1- m4_pattern_allow([^RT_LOCAL_PATH$]) -m4trace:configure.ac:330: -1- AC_SUBST([RT_LIB_PATH], [${exp_libdir}]) -m4trace:configure.ac:330: -1- AC_SUBST_TRACE([RT_LIB_PATH]) -m4trace:configure.ac:330: -1- m4_pattern_allow([^RT_LIB_PATH$]) -m4trace:configure.ac:331: -1- AC_SUBST([RT_ETC_PATH], [${exp_sysconfdir}]) -m4trace:configure.ac:331: -1- AC_SUBST_TRACE([RT_ETC_PATH]) -m4trace:configure.ac:331: -1- m4_pattern_allow([^RT_ETC_PATH$]) -m4trace:configure.ac:332: -1- AC_SUBST([CONFIG_FILE_PATH], [${exp_sysconfdir}]) -m4trace:configure.ac:332: -1- AC_SUBST_TRACE([CONFIG_FILE_PATH]) -m4trace:configure.ac:332: -1- m4_pattern_allow([^CONFIG_FILE_PATH$]) -m4trace:configure.ac:333: -1- AC_SUBST([RT_BIN_PATH], [${exp_bindir}]) -m4trace:configure.ac:333: -1- AC_SUBST_TRACE([RT_BIN_PATH]) -m4trace:configure.ac:333: -1- m4_pattern_allow([^RT_BIN_PATH$]) -m4trace:configure.ac:334: -1- AC_SUBST([RT_SBIN_PATH], [${exp_sbindir}]) -m4trace:configure.ac:334: -1- AC_SUBST_TRACE([RT_SBIN_PATH]) -m4trace:configure.ac:334: -1- m4_pattern_allow([^RT_SBIN_PATH$]) -m4trace:configure.ac:335: -1- AC_SUBST([RT_VAR_PATH], [${exp_localstatedir}]) -m4trace:configure.ac:335: -1- AC_SUBST_TRACE([RT_VAR_PATH]) -m4trace:configure.ac:335: -1- m4_pattern_allow([^RT_VAR_PATH$]) -m4trace:configure.ac:336: -1- AC_SUBST([RT_MAN_PATH], [${exp_mandir}]) -m4trace:configure.ac:336: -1- AC_SUBST_TRACE([RT_MAN_PATH]) -m4trace:configure.ac:336: -1- m4_pattern_allow([^RT_MAN_PATH$]) -m4trace:configure.ac:337: -1- AC_SUBST([RT_FONT_PATH], [${exp_fontdir}]) -m4trace:configure.ac:337: -1- AC_SUBST_TRACE([RT_FONT_PATH]) -m4trace:configure.ac:337: -1- m4_pattern_allow([^RT_FONT_PATH$]) -m4trace:configure.ac:338: -1- AC_SUBST([RT_PLUGIN_PATH], [${exp_plugindir}]) -m4trace:configure.ac:338: -1- AC_SUBST_TRACE([RT_PLUGIN_PATH]) -m4trace:configure.ac:338: -1- m4_pattern_allow([^RT_PLUGIN_PATH$]) -m4trace:configure.ac:339: -1- AC_SUBST([MASON_DATA_PATH], [${exp_masonstatedir}]) -m4trace:configure.ac:339: -1- AC_SUBST_TRACE([MASON_DATA_PATH]) -m4trace:configure.ac:339: -1- m4_pattern_allow([^MASON_DATA_PATH$]) -m4trace:configure.ac:340: -1- AC_SUBST([MASON_SESSION_PATH], [${exp_sessionstatedir}]) -m4trace:configure.ac:340: -1- AC_SUBST_TRACE([MASON_SESSION_PATH]) -m4trace:configure.ac:340: -1- m4_pattern_allow([^MASON_SESSION_PATH$]) -m4trace:configure.ac:341: -1- AC_SUBST([MASON_HTML_PATH], [${exp_htmldir}]) -m4trace:configure.ac:341: -1- AC_SUBST_TRACE([MASON_HTML_PATH]) -m4trace:configure.ac:341: -1- m4_pattern_allow([^MASON_HTML_PATH$]) -m4trace:configure.ac:342: -1- AC_SUBST([LOCAL_ETC_PATH], [${exp_custometcdir}]) -m4trace:configure.ac:342: -1- AC_SUBST_TRACE([LOCAL_ETC_PATH]) -m4trace:configure.ac:342: -1- m4_pattern_allow([^LOCAL_ETC_PATH$]) -m4trace:configure.ac:343: -1- AC_SUBST([MASON_LOCAL_HTML_PATH], [${exp_customhtmldir}]) -m4trace:configure.ac:343: -1- AC_SUBST_TRACE([MASON_LOCAL_HTML_PATH]) -m4trace:configure.ac:343: -1- m4_pattern_allow([^MASON_LOCAL_HTML_PATH$]) -m4trace:configure.ac:344: -1- AC_SUBST([LOCAL_LEXICON_PATH], [${exp_customlexdir}]) -m4trace:configure.ac:344: -1- AC_SUBST_TRACE([LOCAL_LEXICON_PATH]) -m4trace:configure.ac:344: -1- m4_pattern_allow([^LOCAL_LEXICON_PATH$]) -m4trace:configure.ac:345: -1- AC_SUBST([LOCAL_LIB_PATH], [${exp_customlibdir}]) -m4trace:configure.ac:345: -1- AC_SUBST_TRACE([LOCAL_LIB_PATH]) -m4trace:configure.ac:345: -1- m4_pattern_allow([^LOCAL_LIB_PATH$]) -m4trace:configure.ac:346: -1- AC_SUBST([RT_LOG_PATH], [${exp_logfiledir}]) -m4trace:configure.ac:346: -1- AC_SUBST_TRACE([RT_LOG_PATH]) -m4trace:configure.ac:346: -1- m4_pattern_allow([^RT_LOG_PATH$]) -m4trace:configure.ac:349: -1- AC_SUBST([RT_PATH_R], [${exp_prefix}]) -m4trace:configure.ac:349: -1- AC_SUBST_TRACE([RT_PATH_R]) -m4trace:configure.ac:349: -1- m4_pattern_allow([^RT_PATH_R$]) -m4trace:configure.ac:350: -1- AC_SUBST([RT_DOC_PATH_R], [${exp_prefix}/${exp_manualdir}]) -m4trace:configure.ac:350: -1- AC_SUBST_TRACE([RT_DOC_PATH_R]) -m4trace:configure.ac:350: -1- m4_pattern_allow([^RT_DOC_PATH_R$]) -m4trace:configure.ac:351: -1- AC_SUBST([RT_LOCAL_PATH_R], [${exp_prefix}/${exp_customdir}]) -m4trace:configure.ac:351: -1- AC_SUBST_TRACE([RT_LOCAL_PATH_R]) -m4trace:configure.ac:351: -1- m4_pattern_allow([^RT_LOCAL_PATH_R$]) -m4trace:configure.ac:352: -1- AC_SUBST([RT_LIB_PATH_R], [${exp_prefix}/${exp_libdir}]) -m4trace:configure.ac:352: -1- AC_SUBST_TRACE([RT_LIB_PATH_R]) -m4trace:configure.ac:352: -1- m4_pattern_allow([^RT_LIB_PATH_R$]) -m4trace:configure.ac:353: -1- AC_SUBST([RT_ETC_PATH_R], [${exp_prefix}/${exp_sysconfdir}]) -m4trace:configure.ac:353: -1- AC_SUBST_TRACE([RT_ETC_PATH_R]) -m4trace:configure.ac:353: -1- m4_pattern_allow([^RT_ETC_PATH_R$]) -m4trace:configure.ac:354: -1- AC_SUBST([CONFIG_FILE_PATH_R], [${exp_prefix}/${exp_sysconfdir}]) -m4trace:configure.ac:354: -1- AC_SUBST_TRACE([CONFIG_FILE_PATH_R]) -m4trace:configure.ac:354: -1- m4_pattern_allow([^CONFIG_FILE_PATH_R$]) -m4trace:configure.ac:355: -1- AC_SUBST([RT_BIN_PATH_R], [${exp_prefix}/${exp_bindir}]) -m4trace:configure.ac:355: -1- AC_SUBST_TRACE([RT_BIN_PATH_R]) -m4trace:configure.ac:355: -1- m4_pattern_allow([^RT_BIN_PATH_R$]) -m4trace:configure.ac:356: -1- AC_SUBST([RT_SBIN_PATH_R], [${exp_prefix}/${exp_sbindir}]) -m4trace:configure.ac:356: -1- AC_SUBST_TRACE([RT_SBIN_PATH_R]) -m4trace:configure.ac:356: -1- m4_pattern_allow([^RT_SBIN_PATH_R$]) -m4trace:configure.ac:357: -1- AC_SUBST([RT_VAR_PATH_R], [${exp_prefix}/${exp_localstatedir}]) -m4trace:configure.ac:357: -1- AC_SUBST_TRACE([RT_VAR_PATH_R]) -m4trace:configure.ac:357: -1- m4_pattern_allow([^RT_VAR_PATH_R$]) -m4trace:configure.ac:358: -1- AC_SUBST([RT_MAN_PATH_R], [${exp_prefix}/${exp_mandir}]) -m4trace:configure.ac:358: -1- AC_SUBST_TRACE([RT_MAN_PATH_R]) -m4trace:configure.ac:358: -1- m4_pattern_allow([^RT_MAN_PATH_R$]) -m4trace:configure.ac:359: -1- AC_SUBST([RT_FONT_PATH_R], [${exp_prefix}/${exp_fontdir}]) -m4trace:configure.ac:359: -1- AC_SUBST_TRACE([RT_FONT_PATH_R]) -m4trace:configure.ac:359: -1- m4_pattern_allow([^RT_FONT_PATH_R$]) -m4trace:configure.ac:360: -1- AC_SUBST([RT_PLUGIN_PATH_R], [${exp_prefix}/${exp_plugindir}]) -m4trace:configure.ac:360: -1- AC_SUBST_TRACE([RT_PLUGIN_PATH_R]) -m4trace:configure.ac:360: -1- m4_pattern_allow([^RT_PLUGIN_PATH_R$]) -m4trace:configure.ac:361: -1- AC_SUBST([MASON_DATA_PATH_R], [${exp_prefix}/${exp_masonstatedir}]) -m4trace:configure.ac:361: -1- AC_SUBST_TRACE([MASON_DATA_PATH_R]) -m4trace:configure.ac:361: -1- m4_pattern_allow([^MASON_DATA_PATH_R$]) -m4trace:configure.ac:362: -1- AC_SUBST([MASON_SESSION_PATH_R], [${exp_prefix}/${exp_sessionstatedir}]) -m4trace:configure.ac:362: -1- AC_SUBST_TRACE([MASON_SESSION_PATH_R]) -m4trace:configure.ac:362: -1- m4_pattern_allow([^MASON_SESSION_PATH_R$]) -m4trace:configure.ac:363: -1- AC_SUBST([MASON_HTML_PATH_R], [${exp_prefix}/${exp_htmldir}]) -m4trace:configure.ac:363: -1- AC_SUBST_TRACE([MASON_HTML_PATH_R]) -m4trace:configure.ac:363: -1- m4_pattern_allow([^MASON_HTML_PATH_R$]) -m4trace:configure.ac:364: -1- AC_SUBST([LOCAL_ETC_PATH_R], [${exp_prefix}/${exp_custometcdir}]) -m4trace:configure.ac:364: -1- AC_SUBST_TRACE([LOCAL_ETC_PATH_R]) -m4trace:configure.ac:364: -1- m4_pattern_allow([^LOCAL_ETC_PATH_R$]) -m4trace:configure.ac:365: -1- AC_SUBST([MASON_LOCAL_HTML_PATH_R], [${exp_prefix}/${exp_customhtmldir}]) -m4trace:configure.ac:365: -1- AC_SUBST_TRACE([MASON_LOCAL_HTML_PATH_R]) -m4trace:configure.ac:365: -1- m4_pattern_allow([^MASON_LOCAL_HTML_PATH_R$]) -m4trace:configure.ac:366: -1- AC_SUBST([LOCAL_LEXICON_PATH_R], [${exp_prefix}/${exp_customlexdir}]) -m4trace:configure.ac:366: -1- AC_SUBST_TRACE([LOCAL_LEXICON_PATH_R]) -m4trace:configure.ac:366: -1- m4_pattern_allow([^LOCAL_LEXICON_PATH_R$]) -m4trace:configure.ac:367: -1- AC_SUBST([LOCAL_LIB_PATH_R], [${exp_prefix}/${exp_customlibdir}]) -m4trace:configure.ac:367: -1- AC_SUBST_TRACE([LOCAL_LIB_PATH_R]) -m4trace:configure.ac:367: -1- m4_pattern_allow([^LOCAL_LIB_PATH_R$]) -m4trace:configure.ac:368: -1- AC_SUBST([RT_LOG_PATH_R], [${exp_prefix}/${exp_logfiledir}]) -m4trace:configure.ac:368: -1- AC_SUBST_TRACE([RT_LOG_PATH_R]) -m4trace:configure.ac:368: -1- m4_pattern_allow([^RT_LOG_PATH_R$]) -m4trace:configure.ac:370: -1- AC_SUBST([RT_PATH_R], [${exp_prefix}]) -m4trace:configure.ac:370: -1- AC_SUBST_TRACE([RT_PATH_R]) -m4trace:configure.ac:370: -1- m4_pattern_allow([^RT_PATH_R$]) -m4trace:configure.ac:371: -1- AC_SUBST([RT_DOC_PATH_R], [${exp_manualdir}]) -m4trace:configure.ac:371: -1- AC_SUBST_TRACE([RT_DOC_PATH_R]) -m4trace:configure.ac:371: -1- m4_pattern_allow([^RT_DOC_PATH_R$]) -m4trace:configure.ac:372: -1- AC_SUBST([RT_LOCAL_PATH_R], [${exp_customdir}]) -m4trace:configure.ac:372: -1- AC_SUBST_TRACE([RT_LOCAL_PATH_R]) -m4trace:configure.ac:372: -1- m4_pattern_allow([^RT_LOCAL_PATH_R$]) -m4trace:configure.ac:373: -1- AC_SUBST([RT_LIB_PATH_R], [${exp_libdir}]) -m4trace:configure.ac:373: -1- AC_SUBST_TRACE([RT_LIB_PATH_R]) -m4trace:configure.ac:373: -1- m4_pattern_allow([^RT_LIB_PATH_R$]) -m4trace:configure.ac:374: -1- AC_SUBST([RT_ETC_PATH_R], [${exp_sysconfdir}]) -m4trace:configure.ac:374: -1- AC_SUBST_TRACE([RT_ETC_PATH_R]) -m4trace:configure.ac:374: -1- m4_pattern_allow([^RT_ETC_PATH_R$]) -m4trace:configure.ac:375: -1- AC_SUBST([RT_PLUGIN_PATH_R], [${exp_plugindir}]) -m4trace:configure.ac:375: -1- AC_SUBST_TRACE([RT_PLUGIN_PATH_R]) -m4trace:configure.ac:375: -1- m4_pattern_allow([^RT_PLUGIN_PATH_R$]) -m4trace:configure.ac:376: -1- AC_SUBST([CONFIG_FILE_PATH_R], [${exp_sysconfdir}]) -m4trace:configure.ac:376: -1- AC_SUBST_TRACE([CONFIG_FILE_PATH_R]) -m4trace:configure.ac:376: -1- m4_pattern_allow([^CONFIG_FILE_PATH_R$]) -m4trace:configure.ac:377: -1- AC_SUBST([RT_BIN_PATH_R], [${exp_bindir}]) -m4trace:configure.ac:377: -1- AC_SUBST_TRACE([RT_BIN_PATH_R]) -m4trace:configure.ac:377: -1- m4_pattern_allow([^RT_BIN_PATH_R$]) -m4trace:configure.ac:378: -1- AC_SUBST([RT_SBIN_PATH_R], [${exp_sbindir}]) -m4trace:configure.ac:378: -1- AC_SUBST_TRACE([RT_SBIN_PATH_R]) -m4trace:configure.ac:378: -1- m4_pattern_allow([^RT_SBIN_PATH_R$]) -m4trace:configure.ac:379: -1- AC_SUBST([RT_VAR_PATH_R], [${exp_localstatedir}]) -m4trace:configure.ac:379: -1- AC_SUBST_TRACE([RT_VAR_PATH_R]) -m4trace:configure.ac:379: -1- m4_pattern_allow([^RT_VAR_PATH_R$]) -m4trace:configure.ac:380: -1- AC_SUBST([RT_MAN_PATH_R], [${exp_mandir}]) -m4trace:configure.ac:380: -1- AC_SUBST_TRACE([RT_MAN_PATH_R]) -m4trace:configure.ac:380: -1- m4_pattern_allow([^RT_MAN_PATH_R$]) -m4trace:configure.ac:381: -1- AC_SUBST([RT_FONT_PATH_R], [${exp_fontdir}]) -m4trace:configure.ac:381: -1- AC_SUBST_TRACE([RT_FONT_PATH_R]) -m4trace:configure.ac:381: -1- m4_pattern_allow([^RT_FONT_PATH_R$]) -m4trace:configure.ac:382: -1- AC_SUBST([MASON_DATA_PATH_R], [${exp_masonstatedir}]) -m4trace:configure.ac:382: -1- AC_SUBST_TRACE([MASON_DATA_PATH_R]) -m4trace:configure.ac:382: -1- m4_pattern_allow([^MASON_DATA_PATH_R$]) -m4trace:configure.ac:383: -1- AC_SUBST([MASON_SESSION_PATH_R], [${exp_sessionstatedir}]) -m4trace:configure.ac:383: -1- AC_SUBST_TRACE([MASON_SESSION_PATH_R]) -m4trace:configure.ac:383: -1- m4_pattern_allow([^MASON_SESSION_PATH_R$]) -m4trace:configure.ac:384: -1- AC_SUBST([MASON_HTML_PATH_R], [${exp_htmldir}]) -m4trace:configure.ac:384: -1- AC_SUBST_TRACE([MASON_HTML_PATH_R]) -m4trace:configure.ac:384: -1- m4_pattern_allow([^MASON_HTML_PATH_R$]) -m4trace:configure.ac:385: -1- AC_SUBST([LOCAL_ETC_PATH_R], [${exp_custometcdir}]) -m4trace:configure.ac:385: -1- AC_SUBST_TRACE([LOCAL_ETC_PATH_R]) -m4trace:configure.ac:385: -1- m4_pattern_allow([^LOCAL_ETC_PATH_R$]) -m4trace:configure.ac:386: -1- AC_SUBST([MASON_LOCAL_HTML_PATH_R], [${exp_customhtmldir}]) -m4trace:configure.ac:386: -1- AC_SUBST_TRACE([MASON_LOCAL_HTML_PATH_R]) -m4trace:configure.ac:386: -1- m4_pattern_allow([^MASON_LOCAL_HTML_PATH_R$]) -m4trace:configure.ac:387: -1- AC_SUBST([LOCAL_LEXICON_PATH_R], [${exp_customlexdir}]) -m4trace:configure.ac:387: -1- AC_SUBST_TRACE([LOCAL_LEXICON_PATH_R]) -m4trace:configure.ac:387: -1- m4_pattern_allow([^LOCAL_LEXICON_PATH_R$]) -m4trace:configure.ac:388: -1- AC_SUBST([LOCAL_LIB_PATH_R], [${exp_customlibdir}]) -m4trace:configure.ac:388: -1- AC_SUBST_TRACE([LOCAL_LIB_PATH_R]) -m4trace:configure.ac:388: -1- m4_pattern_allow([^LOCAL_LIB_PATH_R$]) -m4trace:configure.ac:389: -1- AC_SUBST([RT_LOG_PATH_R], [${exp_logfiledir}]) -m4trace:configure.ac:389: -1- AC_SUBST_TRACE([RT_LOG_PATH_R]) -m4trace:configure.ac:389: -1- m4_pattern_allow([^RT_LOG_PATH_R$]) -m4trace:configure.ac:396: -1- AC_CONFIG_FILES([ - etc/upgrade/3.8-branded-queues-extension - etc/upgrade/3.8-ical-extension - etc/upgrade/split-out-cf-categories - etc/upgrade/generate-rtaddressregexp - etc/upgrade/vulnerable-passwords - sbin/rt-attributes-viewer - sbin/rt-dump-database - sbin/rt-setup-database - sbin/rt-test-dependencies - sbin/rt-email-digest - sbin/rt-email-dashboards - sbin/rt-clean-sessions - sbin/rt-shredder - sbin/rt-validator - sbin/rt-email-group-admin - sbin/rt-server - bin/fastcgi_server - bin/mason_handler.fcgi - bin/mason_handler.scgi - bin/standalone_httpd - bin/rt-crontool - bin/rt-mailgate - bin/rt], [chmod ug+x $ac_file - ]) -m4trace:configure.ac:424: -1- AC_CONFIG_FILES([ - Makefile - etc/RT_Config.pm - lib/RT.pm - bin/mason_handler.svc - bin/webmux.pl - t/data/configs/apache2.2+mod_perl.conf - t/data/configs/apache2.2+fastcgi.conf], []) -m4trace:configure.ac:433: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs]) -m4trace:configure.ac:433: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) -m4trace:configure.ac:433: -1- m4_pattern_allow([^LIB@&t@OBJS$]) -m4trace:configure.ac:433: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs]) -m4trace:configure.ac:433: -1- AC_SUBST_TRACE([LTLIBOBJS]) -m4trace:configure.ac:433: -1- m4_pattern_allow([^LTLIBOBJS$]) -m4trace:configure.ac:433: -1- AC_SUBST_TRACE([top_builddir]) -m4trace:configure.ac:433: -1- AC_SUBST_TRACE([top_build_prefix]) -m4trace:configure.ac:433: -1- AC_SUBST_TRACE([srcdir]) -m4trace:configure.ac:433: -1- AC_SUBST_TRACE([abs_srcdir]) -m4trace:configure.ac:433: -1- AC_SUBST_TRACE([top_srcdir]) -m4trace:configure.ac:433: -1- AC_SUBST_TRACE([abs_top_srcdir]) -m4trace:configure.ac:433: -1- AC_SUBST_TRACE([builddir]) -m4trace:configure.ac:433: -1- AC_SUBST_TRACE([abs_builddir]) -m4trace:configure.ac:433: -1- AC_SUBST_TRACE([abs_top_builddir]) -m4trace:configure.ac:433: -1- AC_SUBST_TRACE([INSTALL]) diff --git a/rt/bin/fastcgi_server b/rt/bin/fastcgi_server deleted file mode 100755 index 4ccf014da..000000000 --- a/rt/bin/fastcgi_server +++ /dev/null @@ -1,263 +0,0 @@ -#!/usr/bin/perl -# BEGIN BPS TAGGED BLOCK {{{ -# -# COPYRIGHT: -# -# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC -# -# -# (Except where explicitly superseded by other copyright notices) -# -# -# 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 Street, Fifth Floor, Boston, MA -# 02110-1301 or visit their web page on the internet at -# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. -# -# -# CONTRIBUTION SUBMISSION POLICY: -# -# (The following paragraph is not intended to limit the rights granted -# to you to modify and distribute this software under the terms of -# the GNU General Public License and is only of importance to you if -# you choose to contribute your changes and enhancements to the -# community by submitting them to Best Practical Solutions, LLC.) -# -# By intentionally submitting any modifications, corrections or -# derivatives to this work, or any other work intended for use with -# Request Tracker, to Best Practical Solutions, LLC, you confirm that -# you are the copyright holder for those contributions and you grant -# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, -# royalty-free, perpetual, license to use, copy, create derivative -# works based on those contributions, and sublicense and distribute -# those contributions and any derivatives thereof. -# -# END BPS TAGGED BLOCK }}} -=head1 NAME - -fastcgi_server - external FastCGI server for RT - -=head1 USAGE - - # get help - fastcgi_server -h - - # start a server using defaults - fastcgi_server - - # start server with custom option - fastcgi_server --socket /path/to/socket -n 5 - fastcgi_server --port 12345 -n 5 - -=head1 DESCRIPTION - -This is a forking external FastCGI server for RT, it can be used -with apache and other servers supporting FastCGI technology. - -An advantage is lower memory usage because of sharing memory -between process. It's easier to setup this with nginx and other -servers that can not maintain pool of fastcgi servers, apache -can do this. - -Disadvantage is that you have to start this server yourself and -monitor it, web servers wouldn't be able to restart it on crash. - -=head1 OPTIONS - -=over 4 - -=item -h, --help - get help - -=item -n, --nprocesses - number of processes to start, by default 10 - -=item -s, --socket - socket path, by default F -usually F. - -=item -p, --port - port to use instead of socket, by default socket is -used. - -=item --pidfile - pid file path, by default F. - -=back - -=head1 SERVER CONFIGURATION - -=head2 nginx - -Below you can find example of minimal config for nginx to run RT -with this FastCGI server. It's not ideal, but a good enough start. - - worker_processes 1; - events { worker_connections 1024; } - - pid /opt/rt3/var/nginx/server.pid; - error_log /opt/rt3/var/nginx/error.log debug; - - http { - access_log /opt/rt3/var/nginx/access.log; - - server { - listen 8080; - server_name localhost; - - location / { - root /opt/rt3/share/html; - fastcgi_pass unix:/opt/rt3/var/fastcgi.sock; - - fastcgi_param QUERY_STRING $query_string; - fastcgi_param REQUEST_METHOD $request_method; - fastcgi_param CONTENT_TYPE $content_type; - fastcgi_param CONTENT_LENGTH $content_length; - fastcgi_param PATH_INFO $fastcgi_script_name; - } - - location /NoAuth/images/ { - alias /opt/rt3/share/html/NoAuth/images/; - } - } - } - -=head1 lighttpd - -Server config: - - server.name = "localhost" - server.port = 80 - - server.username = "rt_web_user" - server.groupname = "rt_web_group" - - server.pid-file = "/opt/rt3/var/lighthttpd/server.pid" - server.errorlog = "/opt/rt3/var/lighthttpd/error.log" - - server.document-root = "/opt/rt3/share/html" - - server.modules = ( "mod_fastcgi" ) - fastcgi.server = ( - "/" => (( - "socket" => "/opt/rt3/var/fastcgi.sock", - "check-local" => "disable", - "fix-root-scriptname" => "enable", - )) - ) - -=cut - - -use strict; -use warnings; -no warnings qw(once); - -package RT::Interface::Web::FCGI::Server; -use base qw(FCGI::ProcManager); - -package main; - -use Getopt::Long; - -my %opt = ( - help => 0, - socket => '', - port => 0, - nprocesses => 10, - pidfile => '', -); - -GetOptions( - 'h|help!' => \$opt{'help'}, - 's|socket=s' => \$opt{'socket'}, - 'p|port=s' => \$opt{'port'}, - 'n|nprocesses=s' => \$opt{'nprocesses'}, - 'pidfile=s' => \$opt{'pidfile'}, -); - -if ( $opt{'help'} ) { - require Pod::Usage; - Pod::Usage::pod2usage( - -message => "", - -exitval => $opt{'help'}? 0 : 1, - -verbose => 99, - -sections => $opt{'help'}? 'NAME|USAGE|DESCRIPTION|OPTIONS' : 'NAME|USAGE', - ); -} - -$ENV{'RT_WEBMUX_HEAVY_LOAD'} = 1; -use File::Basename; -require (dirname(__FILE__) .'/webmux.pl'); - -unless ( $opt{'socket'} || $opt{'port'} ) { - require File::Spec; - $opt{'socket'} = File::Spec->catfile($RT::VarPath, 'fastcgi.sock'); -} -elsif ( $opt{'port'} ) { - $opt{'socket'} = ':'. $opt{'port'}; -} -$ENV{'FCGI_SOCKET_PATH'} = $opt{'socket'}; - -$opt{'pidfile'} ||= File::Spec->catfile($RT::VarPath, 'fastcgi.pid'); - -require CGI::Fast; - -my $proc_manager = RT::Interface::Web::FCGI::Server->new({ - n_processes => $opt{'nprocesses'} || 10, - pid_fname => $opt{'pidfile'}, -}); - -$proc_manager->pm_manage(); - -while ( my $cgi = CGI::Fast->new ) { - $proc_manager->pm_pre_dispatch; - - $ENV{'PATH'} = '/bin:/usr/bin'; - $ENV{'CDPATH'} = '' if defined $ENV{'CDPATH'}; - $ENV{'SHELL'} = '/bin/sh' if defined $ENV{'SHELL'}; - $ENV{'ENV'} = '' if defined $ENV{'ENV'}; - $ENV{'IFS'} = '' if defined $ENV{'IFS'}; - - Module::Refresh->refresh if RT->Config->Get('DevelMode'); - RT::ConnectToDatabase(); - - # Each environment has its own way of handling .. and so on in paths, - # so RT consistently forbids such paths. - if ( $cgi->path_info =~ m{/\.} ) { - $RT::Logger->crit("Invalid request for ".$cgi->path_info." aborting"); - print STDOUT "HTTP/1.0 400\r\n\r\n"; - - RT::Interface::Web::Handler->CleanupRequest(); - $proc_manager->pm_post_dispatch; - - next; - } - - my $interp = $RT::Mason::Handler->interp; - if ( - !$interp->comp_exists( $cgi->path_info ) - && $interp->comp_exists( $cgi->path_info . "/index.html" ) - ) { - $cgi->path_info( $cgi->path_info . "/index.html" ); - } - - local $@; - eval { $RT::Mason::Handler->handle_cgi_object($cgi); }; - if ($@) { - $RT::Logger->crit($@); - } - RT::Interface::Web::Handler->CleanupRequest; - - $proc_manager->pm_post_dispatch; -} - -1; diff --git a/rt/bin/fastcgi_server.in b/rt/bin/fastcgi_server.in deleted file mode 100644 index d6df63c7d..000000000 --- a/rt/bin/fastcgi_server.in +++ /dev/null @@ -1,263 +0,0 @@ -#!@PERL@ -# BEGIN BPS TAGGED BLOCK {{{ -# -# COPYRIGHT: -# -# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC -# -# -# (Except where explicitly superseded by other copyright notices) -# -# -# 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 Street, Fifth Floor, Boston, MA -# 02110-1301 or visit their web page on the internet at -# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. -# -# -# CONTRIBUTION SUBMISSION POLICY: -# -# (The following paragraph is not intended to limit the rights granted -# to you to modify and distribute this software under the terms of -# the GNU General Public License and is only of importance to you if -# you choose to contribute your changes and enhancements to the -# community by submitting them to Best Practical Solutions, LLC.) -# -# By intentionally submitting any modifications, corrections or -# derivatives to this work, or any other work intended for use with -# Request Tracker, to Best Practical Solutions, LLC, you confirm that -# you are the copyright holder for those contributions and you grant -# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, -# royalty-free, perpetual, license to use, copy, create derivative -# works based on those contributions, and sublicense and distribute -# those contributions and any derivatives thereof. -# -# END BPS TAGGED BLOCK }}} -=head1 NAME - -fastcgi_server - external FastCGI server for RT - -=head1 USAGE - - # get help - fastcgi_server -h - - # start a server using defaults - fastcgi_server - - # start server with custom option - fastcgi_server --socket /path/to/socket -n 5 - fastcgi_server --port 12345 -n 5 - -=head1 DESCRIPTION - -This is a forking external FastCGI server for RT, it can be used -with apache and other servers supporting FastCGI technology. - -An advantage is lower memory usage because of sharing memory -between process. It's easier to setup this with nginx and other -servers that can not maintain pool of fastcgi servers, apache -can do this. - -Disadvantage is that you have to start this server yourself and -monitor it, web servers wouldn't be able to restart it on crash. - -=head1 OPTIONS - -=over 4 - -=item -h, --help - get help - -=item -n, --nprocesses - number of processes to start, by default 10 - -=item -s, --socket - socket path, by default F -usually F. - -=item -p, --port - port to use instead of socket, by default socket is -used. - -=item --pidfile - pid file path, by default F. - -=back - -=head1 SERVER CONFIGURATION - -=head2 nginx - -Below you can find example of minimal config for nginx to run RT -with this FastCGI server. It's not ideal, but a good enough start. - - worker_processes 1; - events { worker_connections 1024; } - - pid /opt/rt3/var/nginx/server.pid; - error_log /opt/rt3/var/nginx/error.log debug; - - http { - access_log /opt/rt3/var/nginx/access.log; - - server { - listen 8080; - server_name localhost; - - location / { - root /opt/rt3/share/html; - fastcgi_pass unix:/opt/rt3/var/fastcgi.sock; - - fastcgi_param QUERY_STRING $query_string; - fastcgi_param REQUEST_METHOD $request_method; - fastcgi_param CONTENT_TYPE $content_type; - fastcgi_param CONTENT_LENGTH $content_length; - fastcgi_param PATH_INFO $fastcgi_script_name; - } - - location /NoAuth/images/ { - alias /opt/rt3/share/html/NoAuth/images/; - } - } - } - -=head1 lighttpd - -Server config: - - server.name = "localhost" - server.port = 80 - - server.username = "rt_web_user" - server.groupname = "rt_web_group" - - server.pid-file = "/opt/rt3/var/lighthttpd/server.pid" - server.errorlog = "/opt/rt3/var/lighthttpd/error.log" - - server.document-root = "/opt/rt3/share/html" - - server.modules = ( "mod_fastcgi" ) - fastcgi.server = ( - "/" => (( - "socket" => "/opt/rt3/var/fastcgi.sock", - "check-local" => "disable", - "fix-root-scriptname" => "enable", - )) - ) - -=cut - - -use strict; -use warnings; -no warnings qw(once); - -package RT::Interface::Web::FCGI::Server; -use base qw(FCGI::ProcManager); - -package main; - -use Getopt::Long; - -my %opt = ( - help => 0, - socket => '', - port => 0, - nprocesses => 10, - pidfile => '', -); - -GetOptions( - 'h|help!' => \$opt{'help'}, - 's|socket=s' => \$opt{'socket'}, - 'p|port=s' => \$opt{'port'}, - 'n|nprocesses=s' => \$opt{'nprocesses'}, - 'pidfile=s' => \$opt{'pidfile'}, -); - -if ( $opt{'help'} ) { - require Pod::Usage; - Pod::Usage::pod2usage( - -message => "", - -exitval => $opt{'help'}? 0 : 1, - -verbose => 99, - -sections => $opt{'help'}? 'NAME|USAGE|DESCRIPTION|OPTIONS' : 'NAME|USAGE', - ); -} - -$ENV{'RT_WEBMUX_HEAVY_LOAD'} = 1; -use File::Basename; -require (dirname(__FILE__) .'/webmux.pl'); - -unless ( $opt{'socket'} || $opt{'port'} ) { - require File::Spec; - $opt{'socket'} = File::Spec->catfile($RT::VarPath, 'fastcgi.sock'); -} -elsif ( $opt{'port'} ) { - $opt{'socket'} = ':'. $opt{'port'}; -} -$ENV{'FCGI_SOCKET_PATH'} = $opt{'socket'}; - -$opt{'pidfile'} ||= File::Spec->catfile($RT::VarPath, 'fastcgi.pid'); - -require CGI::Fast; - -my $proc_manager = RT::Interface::Web::FCGI::Server->new({ - n_processes => $opt{'nprocesses'} || 10, - pid_fname => $opt{'pidfile'}, -}); - -$proc_manager->pm_manage(); - -while ( my $cgi = CGI::Fast->new ) { - $proc_manager->pm_pre_dispatch; - - $ENV{'PATH'} = '/bin:/usr/bin'; - $ENV{'CDPATH'} = '' if defined $ENV{'CDPATH'}; - $ENV{'SHELL'} = '/bin/sh' if defined $ENV{'SHELL'}; - $ENV{'ENV'} = '' if defined $ENV{'ENV'}; - $ENV{'IFS'} = '' if defined $ENV{'IFS'}; - - Module::Refresh->refresh if RT->Config->Get('DevelMode'); - RT::ConnectToDatabase(); - - # Each environment has its own way of handling .. and so on in paths, - # so RT consistently forbids such paths. - if ( $cgi->path_info =~ m{/\.} ) { - $RT::Logger->crit("Invalid request for ".$cgi->path_info." aborting"); - print STDOUT "HTTP/1.0 400\r\n\r\n"; - - RT::Interface::Web::Handler->CleanupRequest(); - $proc_manager->pm_post_dispatch; - - next; - } - - my $interp = $RT::Mason::Handler->interp; - if ( - !$interp->comp_exists( $cgi->path_info ) - && $interp->comp_exists( $cgi->path_info . "/index.html" ) - ) { - $cgi->path_info( $cgi->path_info . "/index.html" ); - } - - local $@; - eval { $RT::Mason::Handler->handle_cgi_object($cgi); }; - if ($@) { - $RT::Logger->crit($@); - } - RT::Interface::Web::Handler->CleanupRequest; - - $proc_manager->pm_post_dispatch; -} - -1; diff --git a/rt/bin/mason_handler.fcgi b/rt/bin/mason_handler.fcgi deleted file mode 100755 index 996e96076..000000000 --- a/rt/bin/mason_handler.fcgi +++ /dev/null @@ -1,99 +0,0 @@ -#!/usr/bin/perl -# BEGIN BPS TAGGED BLOCK {{{ -# -# COPYRIGHT: -# -# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC -# -# -# (Except where explicitly superseded by other copyright notices) -# -# -# 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 Street, Fifth Floor, Boston, MA -# 02110-1301 or visit their web page on the internet at -# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. -# -# -# CONTRIBUTION SUBMISSION POLICY: -# -# (The following paragraph is not intended to limit the rights granted -# to you to modify and distribute this software under the terms of -# the GNU General Public License and is only of importance to you if -# you choose to contribute your changes and enhancements to the -# community by submitting them to Best Practical Solutions, LLC.) -# -# By intentionally submitting any modifications, corrections or -# derivatives to this work, or any other work intended for use with -# Request Tracker, to Best Practical Solutions, LLC, you confirm that -# you are the copyright holder for those contributions and you grant -# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, -# royalty-free, perpetual, license to use, copy, create derivative -# works based on those contributions, and sublicense and distribute -# those contributions and any derivatives thereof. -# -# END BPS TAGGED BLOCK }}} -use strict; -use warnings; -no warnings qw(once); - -use File::Basename; -require (dirname(__FILE__) .'/webmux.pl'); - -# Enter CGI::Fast mode, which should also work as a vanilla CGI script. -require CGI::Fast; - -while ( my $cgi = CGI::Fast->new ) { - # the whole point of fastcgi requires the env to get reset here.. - # So we must squash it again - $ENV{'PATH'} = '/bin:/usr/bin'; - $ENV{'CDPATH'} = '' if defined $ENV{'CDPATH'}; - $ENV{'SHELL'} = '/bin/sh' if defined $ENV{'SHELL'}; - $ENV{'ENV'} = '' if defined $ENV{'ENV'}; - $ENV{'IFS'} = '' if defined $ENV{'IFS'}; - - Module::Refresh->refresh if RT->Config->Get('DevelMode'); - RT::ConnectToDatabase(); - - # Each environment has its own way of handling .. and so on in paths, - # so RT consistently forbids such paths. - if ( $cgi->path_info =~ m{/\.} ) { - $RT::Logger->crit("Invalid request for ".$cgi->path_info." aborting"); - print STDOUT "HTTP/1.0 400\r\n\r\n"; - - RT::Interface::Web::Handler->CleanupRequest(); - - next; - } - - my $interp = $RT::Mason::Handler->interp; - if ( - !$interp->comp_exists( $cgi->path_info ) - && $interp->comp_exists( $cgi->path_info . "/index.html" ) - ) { - $cgi->path_info( $cgi->path_info . "/index.html" ); - } - - local $@; - eval { $RT::Mason::Handler->handle_cgi_object($cgi); }; - if ($@) { - $RT::Logger->crit($@); - } - RT::Interface::Web::Handler->CleanupRequest(); - -} - -1; diff --git a/rt/bin/mason_handler.fcgi.in b/rt/bin/mason_handler.fcgi.in deleted file mode 100644 index 4682abf16..000000000 --- a/rt/bin/mason_handler.fcgi.in +++ /dev/null @@ -1,99 +0,0 @@ -#!@PERL@ -# BEGIN BPS TAGGED BLOCK {{{ -# -# COPYRIGHT: -# -# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC -# -# -# (Except where explicitly superseded by other copyright notices) -# -# -# 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 Street, Fifth Floor, Boston, MA -# 02110-1301 or visit their web page on the internet at -# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. -# -# -# CONTRIBUTION SUBMISSION POLICY: -# -# (The following paragraph is not intended to limit the rights granted -# to you to modify and distribute this software under the terms of -# the GNU General Public License and is only of importance to you if -# you choose to contribute your changes and enhancements to the -# community by submitting them to Best Practical Solutions, LLC.) -# -# By intentionally submitting any modifications, corrections or -# derivatives to this work, or any other work intended for use with -# Request Tracker, to Best Practical Solutions, LLC, you confirm that -# you are the copyright holder for those contributions and you grant -# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, -# royalty-free, perpetual, license to use, copy, create derivative -# works based on those contributions, and sublicense and distribute -# those contributions and any derivatives thereof. -# -# END BPS TAGGED BLOCK }}} -use strict; -use warnings; -no warnings qw(once); - -use File::Basename; -require (dirname(__FILE__) .'/webmux.pl'); - -# Enter CGI::Fast mode, which should also work as a vanilla CGI script. -require CGI::Fast; - -while ( my $cgi = CGI::Fast->new ) { - # the whole point of fastcgi requires the env to get reset here.. - # So we must squash it again - $ENV{'PATH'} = '/bin:/usr/bin'; - $ENV{'CDPATH'} = '' if defined $ENV{'CDPATH'}; - $ENV{'SHELL'} = '/bin/sh' if defined $ENV{'SHELL'}; - $ENV{'ENV'} = '' if defined $ENV{'ENV'}; - $ENV{'IFS'} = '' if defined $ENV{'IFS'}; - - Module::Refresh->refresh if RT->Config->Get('DevelMode'); - RT::ConnectToDatabase(); - - # Each environment has its own way of handling .. and so on in paths, - # so RT consistently forbids such paths. - if ( $cgi->path_info =~ m{/\.} ) { - $RT::Logger->crit("Invalid request for ".$cgi->path_info." aborting"); - print STDOUT "HTTP/1.0 400\r\n\r\n"; - - RT::Interface::Web::Handler->CleanupRequest(); - - next; - } - - my $interp = $RT::Mason::Handler->interp; - if ( - !$interp->comp_exists( $cgi->path_info ) - && $interp->comp_exists( $cgi->path_info . "/index.html" ) - ) { - $cgi->path_info( $cgi->path_info . "/index.html" ); - } - - local $@; - eval { $RT::Mason::Handler->handle_cgi_object($cgi); }; - if ($@) { - $RT::Logger->crit($@); - } - RT::Interface::Web::Handler->CleanupRequest(); - -} - -1; diff --git a/rt/bin/mason_handler.scgi b/rt/bin/mason_handler.scgi deleted file mode 100755 index 83649edaf..000000000 --- a/rt/bin/mason_handler.scgi +++ /dev/null @@ -1,80 +0,0 @@ -#!/usr/local/bin/speedy -# BEGIN BPS TAGGED BLOCK {{{ -# -# COPYRIGHT: -# -# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC -# -# -# (Except where explicitly superseded by other copyright notices) -# -# -# 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 Street, Fifth Floor, Boston, MA -# 02110-1301 or visit their web page on the internet at -# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. -# -# -# CONTRIBUTION SUBMISSION POLICY: -# -# (The following paragraph is not intended to limit the rights granted -# to you to modify and distribute this software under the terms of -# the GNU General Public License and is only of importance to you if -# you choose to contribute your changes and enhancements to the -# community by submitting them to Best Practical Solutions, LLC.) -# -# By intentionally submitting any modifications, corrections or -# derivatives to this work, or any other work intended for use with -# Request Tracker, to Best Practical Solutions, LLC, you confirm that -# you are the copyright holder for those contributions and you grant -# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, -# royalty-free, perpetual, license to use, copy, create derivative -# works based on those contributions, and sublicense and distribute -# those contributions and any derivatives thereof. -# -# END BPS TAGGED BLOCK }}} -package RT::Mason; - -use strict; -use vars '$Handler'; -use File::Basename; - -require (dirname(__FILE__) . '/webmux.pl'); - -require CGI; - -my $cgi = CGI->new; - -# Each environment has its own way of handling .. and so on in paths, -# so RT consistently forbids such paths. -if ( $cgi->path_info =~ m{/\.} ) { - $RT::Logger->crit("Invalid request for ".$cgi->path_info." aborting"); - print STDOUT "HTTP/1.0 400\r\n\r\n"; - - RT::Interface::Web::Handler->CleanupRequest(); - - return 0; -} - -if ( ( !$Handler->interp->comp_exists( $cgi->path_info ) ) - && ( $Handler->interp->comp_exists( $cgi->path_info . "/index.html" ) ) ) { - $cgi->path_info( $cgi->path_info . "/index.html" ); -} - -RT::ConnectToDatabase(); -$Handler->handle_cgi_object($cgi); -RT::Interface::Web::Handler->CleanupRequest(); -1; diff --git a/rt/bin/mason_handler.scgi.in b/rt/bin/mason_handler.scgi.in deleted file mode 100644 index fa771b783..000000000 --- a/rt/bin/mason_handler.scgi.in +++ /dev/null @@ -1,80 +0,0 @@ -#!@SPEEDY_BIN@ -# BEGIN BPS TAGGED BLOCK {{{ -# -# COPYRIGHT: -# -# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC -# -# -# (Except where explicitly superseded by other copyright notices) -# -# -# 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 Street, Fifth Floor, Boston, MA -# 02110-1301 or visit their web page on the internet at -# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. -# -# -# CONTRIBUTION SUBMISSION POLICY: -# -# (The following paragraph is not intended to limit the rights granted -# to you to modify and distribute this software under the terms of -# the GNU General Public License and is only of importance to you if -# you choose to contribute your changes and enhancements to the -# community by submitting them to Best Practical Solutions, LLC.) -# -# By intentionally submitting any modifications, corrections or -# derivatives to this work, or any other work intended for use with -# Request Tracker, to Best Practical Solutions, LLC, you confirm that -# you are the copyright holder for those contributions and you grant -# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, -# royalty-free, perpetual, license to use, copy, create derivative -# works based on those contributions, and sublicense and distribute -# those contributions and any derivatives thereof. -# -# END BPS TAGGED BLOCK }}} -package RT::Mason; - -use strict; -use vars '$Handler'; -use File::Basename; - -require (dirname(__FILE__) . '/webmux.pl'); - -require CGI; - -my $cgi = CGI->new; - -# Each environment has its own way of handling .. and so on in paths, -# so RT consistently forbids such paths. -if ( $cgi->path_info =~ m{/\.} ) { - $RT::Logger->crit("Invalid request for ".$cgi->path_info." aborting"); - print STDOUT "HTTP/1.0 400\r\n\r\n"; - - RT::Interface::Web::Handler->CleanupRequest(); - - return 0; -} - -if ( ( !$Handler->interp->comp_exists( $cgi->path_info ) ) - && ( $Handler->interp->comp_exists( $cgi->path_info . "/index.html" ) ) ) { - $cgi->path_info( $cgi->path_info . "/index.html" ); -} - -RT::ConnectToDatabase(); -$Handler->handle_cgi_object($cgi); -RT::Interface::Web::Handler->CleanupRequest(); -1; diff --git a/rt/bin/mason_handler.svc b/rt/bin/mason_handler.svc deleted file mode 100644 index 6275a9e59..000000000 --- a/rt/bin/mason_handler.svc +++ /dev/null @@ -1,276 +0,0 @@ -#!/usr/bin/perl -# BEGIN BPS TAGGED BLOCK {{{ -# -# COPYRIGHT: -# -# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC -# -# -# (Except where explicitly superseded by other copyright notices) -# -# -# 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 Street, Fifth Floor, Boston, MA -# 02110-1301 or visit their web page on the internet at -# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. -# -# -# CONTRIBUTION SUBMISSION POLICY: -# -# (The following paragraph is not intended to limit the rights granted -# to you to modify and distribute this software under the terms of -# the GNU General Public License and is only of importance to you if -# you choose to contribute your changes and enhancements to the -# community by submitting them to Best Practical Solutions, LLC.) -# -# By intentionally submitting any modifications, corrections or -# derivatives to this work, or any other work intended for use with -# Request Tracker, to Best Practical Solutions, LLC, you confirm that -# you are the copyright holder for those contributions and you grant -# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, -# royalty-free, perpetual, license to use, copy, create derivative -# works based on those contributions, and sublicense and distribute -# those contributions and any derivatives thereof. -# -# END BPS TAGGED BLOCK }}} -=head1 NAME - -mason_handler.svc - Win32 IIS Service handler for RT - -=head1 SYNOPSIS - - perl mason_handler.svc --install # install as service - perl mason_handler.svc --deinstall # deinstall this service - perl mason_handler.svc --help # show this help - perl mason_handler.svc # launch handler from command line - -=head1 DESCRIPTION - -This script manages a stand-alone FastCGI server, and populates the necessary -registry settings to run it with Microsoft IIS Server 4.0 or above. - -Before running it, you need to install the B module from CPAN, as well as -B from L if you want to install -itself as a service. - -This script will automatically create a virtual directory under the IIS root; -its name is taken from C<$WebPath> in the F file. Additionally, -please install the ISAPI binary from L and set -up an ISAPI Script Map that maps F<.html> files to F. - -Once the service is launched (either via C or by running -C), a FCGI server will start and bind to port C<8284> -(mnemonics: the ASCII value of C and C); the ISAPI handler's C -registry setting will also be automatically populated. - -=cut - -package RT::Mason; - -use strict; -use File::Basename; -use vars '$Handler'; -require (dirname(__FILE__) . '/webmux.pl'); - -use Cwd; -use File::Spec; - -use Win32; -use Win32::Process; -use Win32::Service; -use Win32::TieRegistry; - -my $ProcessObj; - -BEGIN { - my $runsvc = sub { - Win32::Process::Create( - $ProcessObj, $^X, "$^X $0 --run", 0, NORMAL_PRIORITY_CLASS, "." - ) or do { - die Win32::FormatMessage( Win32::GetLastError() ); - }; - - chdir File::Basename::dirname($0); - my $path = Cwd::cwd(); - $path =~ s|/|\\|g; - $path =~ s|bin$|share\\html|; - - $Win32::TieRegistry::Registry->{ - 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\\'. - 'W3SVC\Parameters\Virtual Roots\\' - }->{RT->Config->Get('WebPath') || '/'} = "$path,,205"; - - $Win32::TieRegistry::Registry->{ - 'HKEY_LOCAL_MACHINE\Software\FASTCGI\.html\\' - }->{'BindPath'} = $ENV{'FCGI_SOCKET_PATH'}; - - Win32::Service::StartService(Win32::NodeName, 'W3SVC'); - }; - - if ($ARGV[0] eq '--deinstall') { - chdir File::Basename::dirname($0); - my $path = Cwd::cwd(); - $path =~ s|/|\\|g; - - require Win32::Daemon; - Win32::Daemon::DeleteService('RTFastCGI'); - warn "Service 'RTFastCGI' successfully deleted.\n"; - exit; - } - elsif ($ARGV[0] eq '--install') { - chdir File::Basename::dirname($0); - my $path = Cwd::cwd(); - $path =~ s|/|\\|g; - - require Win32::Daemon; - Win32::Daemon::DeleteService('RTFastCGI'); - - my $rv = Win32::Daemon::CreateService( { - machine => '', - name => 'RTFastCGI', - display => 'RT FastCGI Handler', - path => $^X, - user => '', - pwd => $path, - description => 'Enables port 8284 as the RT FastCGI handler.', - parameters => File::Spec->catfile( - $path, File::Basename::basename($0) - ) . ' --service', - } ); - - if ($rv) { - warn "Service 'RTFastCGI' successfully created.\n"; - } - else { - warn "Failed to add service: " . Win32::FormatMessage( - Win32::Daemon::GetLastError() - ) . "\n"; - } - exit; - } - elsif ($ARGV[0] eq '--service') { - require Win32::Daemon; - - my $PrevState = Win32::Daemon::SERVICE_START_PENDING(); - Win32::Daemon::StartService() or die $^E; - - while ( 1 ) { - my $State = Win32::Daemon::State(); - last if $State == Win32::Daemon::SERVICE_STOPPED(); - - if ( $State == Win32::Daemon::SERVICE_START_PENDING() ) { - $runsvc->(); - Win32::Daemon::State( Win32::Daemon::SERVICE_RUNNING() ); - $PrevState = Win32::Daemon::SERVICE_RUNNING(); - } - elsif ( $State == Win32::Daemon::SERVICE_CONTINUE_PENDING() ) { - $ProcessObj->Resume; - Win32::Daemon::State( Win32::Daemon::SERVICE_RUNNING() ); - $PrevState = Win32::Daemon::SERVICE_RUNNING(); - } - elsif ( $State == Win32::Daemon::SERVICE_STOP_PENDING() ) { - $ProcessObj->Kill(0); - Win32::Daemon::State( Win32::Daemon::SERVICE_STOPPED() ); - $PrevState = Win32::Daemon::SERVICE_STOPPED(); - } - elsif ( $State == Win32::Daemon::SERVICE_RUNNING() ) { - my $Message = Win32::Daemon::QueryLastMessage(1); - if ( $Message == Win32::Daemon::SERVICE_CONTROL_INTERROGATE() ) { - Win32::Daemon::State( $PrevState ); - } - elsif ( $Message == Win32::Daemon::SERVICE_CONTROL_SHUTDOWN() ) { - Win32::Daemon::State( Win32::Daemon::SERVICE_STOP_PENDING(), 15000 ); - } - elsif ( $Message != Win32::Daemon::SERVICE_CONTROL_NONE() ) { - Win32::Daemon::State( $PrevState ); - } - } - - Win32::Sleep( 1000 ); - } - - Win32::Daemon::StopService(); - exit; - } - elsif ($ARGV[0] eq '--help') { - system("perldoc $0"); - exit; - } - elsif ($ARGV[0] ne '--run') { - $SIG{__DIE__} = sub { $ProcessObj->Kill(0) if $ProcessObj }; - $runsvc->(); - warn "RT FastCGI Handler launched. Press [Enter] to terminate...\n"; - ; - exit; - } -} - -############################################################################### - -warn "Begin listening on $ENV{'FCGI_SOCKET_PATH'}\n"; - -require CGI::Fast; - -RT::Init(); -$Handler ||= RT::Interface::Web::Handler->new( - RT->Config->Get('MasonParameters') -); - - -# Response loop -while( my $cgi = CGI::Fast->new ) { - my $comp = $ENV{'PATH_INFO'}; - - # Each environment has its own way of handling .. and so on in paths, - # so RT consistently forbids such paths. - if ( $cgi->path_info =~ m{/\.} ) { - $RT::Logger->crit("Invalid request for ".$cgi->path_info." aborting"); - print STDOUT "HTTP/1.0 400\r\n\r\n"; - - RT::Interface::Web::Handler->CleanupRequest(); - - next; - } - - $comp = $1 if ($comp =~ /^(.*)$/); - my $web_path = RT->Config->Get('WebPath'); - $comp =~ s|^\Q$web_path\E\b||i; - $comp .= "index.html" if ($comp =~ /\/$/); - $comp =~ s/.pl$/.html/g; - - warn "Serving $comp\n"; - - $Handler->handle_cgi($comp); - RT::Interface::Web::Handler->CleanupRequest(); - # _should_ always be tied -} - -1; - -=head1 AUTHORS - -Autrijus Tang Eautrijus@autrijus.orgE - -=head1 COPYRIGHT - -Copyright 2002 by Autrijus Tang Eautrijus@autrijus.orgE. - -This program is free software; you can redistribute it and/or -modify it under the same terms as Perl itself. - -See L - -=cut diff --git a/rt/bin/mason_handler.svc.in b/rt/bin/mason_handler.svc.in deleted file mode 100644 index 119b110db..000000000 --- a/rt/bin/mason_handler.svc.in +++ /dev/null @@ -1,276 +0,0 @@ -#!@PERL@ -# BEGIN BPS TAGGED BLOCK {{{ -# -# COPYRIGHT: -# -# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC -# -# -# (Except where explicitly superseded by other copyright notices) -# -# -# 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 Street, Fifth Floor, Boston, MA -# 02110-1301 or visit their web page on the internet at -# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. -# -# -# CONTRIBUTION SUBMISSION POLICY: -# -# (The following paragraph is not intended to limit the rights granted -# to you to modify and distribute this software under the terms of -# the GNU General Public License and is only of importance to you if -# you choose to contribute your changes and enhancements to the -# community by submitting them to Best Practical Solutions, LLC.) -# -# By intentionally submitting any modifications, corrections or -# derivatives to this work, or any other work intended for use with -# Request Tracker, to Best Practical Solutions, LLC, you confirm that -# you are the copyright holder for those contributions and you grant -# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, -# royalty-free, perpetual, license to use, copy, create derivative -# works based on those contributions, and sublicense and distribute -# those contributions and any derivatives thereof. -# -# END BPS TAGGED BLOCK }}} -=head1 NAME - -mason_handler.svc - Win32 IIS Service handler for RT - -=head1 SYNOPSIS - - perl mason_handler.svc --install # install as service - perl mason_handler.svc --deinstall # deinstall this service - perl mason_handler.svc --help # show this help - perl mason_handler.svc # launch handler from command line - -=head1 DESCRIPTION - -This script manages a stand-alone FastCGI server, and populates the necessary -registry settings to run it with Microsoft IIS Server 4.0 or above. - -Before running it, you need to install the B module from CPAN, as well as -B from L if you want to install -itself as a service. - -This script will automatically create a virtual directory under the IIS root; -its name is taken from C<$WebPath> in the F file. Additionally, -please install the ISAPI binary from L and set -up an ISAPI Script Map that maps F<.html> files to F. - -Once the service is launched (either via C or by running -C), a FCGI server will start and bind to port C<8284> -(mnemonics: the ASCII value of C and C); the ISAPI handler's C -registry setting will also be automatically populated. - -=cut - -package RT::Mason; - -use strict; -use File::Basename; -use vars '$Handler'; -require (dirname(__FILE__) . '/webmux.pl'); - -use Cwd; -use File::Spec; - -use Win32; -use Win32::Process; -use Win32::Service; -use Win32::TieRegistry; - -my $ProcessObj; - -BEGIN { - my $runsvc = sub { - Win32::Process::Create( - $ProcessObj, $^X, "$^X $0 --run", 0, NORMAL_PRIORITY_CLASS, "." - ) or do { - die Win32::FormatMessage( Win32::GetLastError() ); - }; - - chdir File::Basename::dirname($0); - my $path = Cwd::cwd(); - $path =~ s|/|\\|g; - $path =~ s|bin$|share\\html|; - - $Win32::TieRegistry::Registry->{ - 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\\'. - 'W3SVC\Parameters\Virtual Roots\\' - }->{RT->Config->Get('WebPath') || '/'} = "$path,,205"; - - $Win32::TieRegistry::Registry->{ - 'HKEY_LOCAL_MACHINE\Software\FASTCGI\.html\\' - }->{'BindPath'} = $ENV{'FCGI_SOCKET_PATH'}; - - Win32::Service::StartService(Win32::NodeName, 'W3SVC'); - }; - - if ($ARGV[0] eq '--deinstall') { - chdir File::Basename::dirname($0); - my $path = Cwd::cwd(); - $path =~ s|/|\\|g; - - require Win32::Daemon; - Win32::Daemon::DeleteService('RTFastCGI'); - warn "Service 'RTFastCGI' successfully deleted.\n"; - exit; - } - elsif ($ARGV[0] eq '--install') { - chdir File::Basename::dirname($0); - my $path = Cwd::cwd(); - $path =~ s|/|\\|g; - - require Win32::Daemon; - Win32::Daemon::DeleteService('RTFastCGI'); - - my $rv = Win32::Daemon::CreateService( { - machine => '', - name => 'RTFastCGI', - display => 'RT FastCGI Handler', - path => $^X, - user => '', - pwd => $path, - description => 'Enables port 8284 as the RT FastCGI handler.', - parameters => File::Spec->catfile( - $path, File::Basename::basename($0) - ) . ' --service', - } ); - - if ($rv) { - warn "Service 'RTFastCGI' successfully created.\n"; - } - else { - warn "Failed to add service: " . Win32::FormatMessage( - Win32::Daemon::GetLastError() - ) . "\n"; - } - exit; - } - elsif ($ARGV[0] eq '--service') { - require Win32::Daemon; - - my $PrevState = Win32::Daemon::SERVICE_START_PENDING(); - Win32::Daemon::StartService() or die $^E; - - while ( 1 ) { - my $State = Win32::Daemon::State(); - last if $State == Win32::Daemon::SERVICE_STOPPED(); - - if ( $State == Win32::Daemon::SERVICE_START_PENDING() ) { - $runsvc->(); - Win32::Daemon::State( Win32::Daemon::SERVICE_RUNNING() ); - $PrevState = Win32::Daemon::SERVICE_RUNNING(); - } - elsif ( $State == Win32::Daemon::SERVICE_CONTINUE_PENDING() ) { - $ProcessObj->Resume; - Win32::Daemon::State( Win32::Daemon::SERVICE_RUNNING() ); - $PrevState = Win32::Daemon::SERVICE_RUNNING(); - } - elsif ( $State == Win32::Daemon::SERVICE_STOP_PENDING() ) { - $ProcessObj->Kill(0); - Win32::Daemon::State( Win32::Daemon::SERVICE_STOPPED() ); - $PrevState = Win32::Daemon::SERVICE_STOPPED(); - } - elsif ( $State == Win32::Daemon::SERVICE_RUNNING() ) { - my $Message = Win32::Daemon::QueryLastMessage(1); - if ( $Message == Win32::Daemon::SERVICE_CONTROL_INTERROGATE() ) { - Win32::Daemon::State( $PrevState ); - } - elsif ( $Message == Win32::Daemon::SERVICE_CONTROL_SHUTDOWN() ) { - Win32::Daemon::State( Win32::Daemon::SERVICE_STOP_PENDING(), 15000 ); - } - elsif ( $Message != Win32::Daemon::SERVICE_CONTROL_NONE() ) { - Win32::Daemon::State( $PrevState ); - } - } - - Win32::Sleep( 1000 ); - } - - Win32::Daemon::StopService(); - exit; - } - elsif ($ARGV[0] eq '--help') { - system("perldoc $0"); - exit; - } - elsif ($ARGV[0] ne '--run') { - $SIG{__DIE__} = sub { $ProcessObj->Kill(0) if $ProcessObj }; - $runsvc->(); - warn "RT FastCGI Handler launched. Press [Enter] to terminate...\n"; - ; - exit; - } -} - -############################################################################### - -warn "Begin listening on $ENV{'FCGI_SOCKET_PATH'}\n"; - -require CGI::Fast; - -RT::Init(); -$Handler ||= RT::Interface::Web::Handler->new( - RT->Config->Get('MasonParameters') -); - - -# Response loop -while( my $cgi = CGI::Fast->new ) { - my $comp = $ENV{'PATH_INFO'}; - - # Each environment has its own way of handling .. and so on in paths, - # so RT consistently forbids such paths. - if ( $cgi->path_info =~ m{/\.} ) { - $RT::Logger->crit("Invalid request for ".$cgi->path_info." aborting"); - print STDOUT "HTTP/1.0 400\r\n\r\n"; - - RT::Interface::Web::Handler->CleanupRequest(); - - next; - } - - $comp = $1 if ($comp =~ /^(.*)$/); - my $web_path = RT->Config->Get('WebPath'); - $comp =~ s|^\Q$web_path\E\b||i; - $comp .= "index.html" if ($comp =~ /\/$/); - $comp =~ s/.pl$/.html/g; - - warn "Serving $comp\n"; - - $Handler->handle_cgi($comp); - RT::Interface::Web::Handler->CleanupRequest(); - # _should_ always be tied -} - -1; - -=head1 AUTHORS - -Autrijus Tang Eautrijus@autrijus.orgE - -=head1 COPYRIGHT - -Copyright 2002 by Autrijus Tang Eautrijus@autrijus.orgE. - -This program is free software; you can redistribute it and/or -modify it under the same terms as Perl itself. - -See L - -=cut diff --git a/rt/bin/rt b/rt/bin/rt new file mode 100755 index 000000000..89873f5d6 --- /dev/null +++ b/rt/bin/rt @@ -0,0 +1,2611 @@ +#!/usr/bin/perl -w +# BEGIN BPS TAGGED BLOCK {{{ +# +# COPYRIGHT: +# +# This software is Copyright (c) 1996-2012 Best Practical Solutions, LLC +# +# +# (Except where explicitly superseded by other copyright notices) +# +# +# 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 Street, Fifth Floor, Boston, MA +# 02110-1301 or visit their web page on the internet at +# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. +# +# +# CONTRIBUTION SUBMISSION POLICY: +# +# (The following paragraph is not intended to limit the rights granted +# to you to modify and distribute this software under the terms of +# the GNU General Public License and is only of importance to you if +# you choose to contribute your changes and enhancements to the +# community by submitting them to Best Practical Solutions, LLC.) +# +# By intentionally submitting any modifications, corrections or +# derivatives to this work, or any other work intended for use with +# Request Tracker, to Best Practical Solutions, LLC, you confirm that +# you are the copyright holder for those contributions and you grant +# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, +# royalty-free, perpetual, license to use, copy, create derivative +# works based on those contributions, and sublicense and distribute +# those contributions and any derivatives thereof. +# +# END BPS TAGGED BLOCK }}} +# Designed and implemented for Best Practical Solutions, LLC by +# Abhijit Menon-Sen + +use strict; + +if ( $ARGV[0] && $ARGV[0] =~ /^(?:--help|-h)$/ ) { + require Pod::Usage; + print Pod::Usage::pod2usage( { verbose => 2 } ); + exit; +} + +# This program is intentionally written to have as few non-core module +# dependencies as possible. It should stay that way. + +use Cwd; +use LWP; +use Text::ParseWords; +use HTTP::Request::Common; +use HTTP::Headers; +use Term::ReadLine; +use Time::Local; # used in prettyshow + +# strong (GSSAPI based) authentication is supported if the server does provide +# it and the perl modules GSSAPI and LWP::Authen::Negotiate are installed +# it can be suppressed by setting externalauth=0 (default is undef) +eval { require GSSAPI }; +my $no_strong_auth = 'missing perl module GSSAPI'; +if ( ! $@ ) { + eval {require LWP::Authen::Negotiate}; + $no_strong_auth = $@ ? 'missing perl module LWP::Authen::Negotiate' : 0; +} + +# We derive configuration information from hardwired defaults, dotfiles, +# and the RT* environment variables (in increasing order of precedence). +# Session information is stored in ~/.rt_sessions. + +my $VERSION = 0.02; +my $HOME = eval{(getpwuid($<))[7]} + || $ENV{HOME} || $ENV{LOGDIR} || $ENV{HOMEPATH} + || "."; +my %config = ( + ( + debug => 0, + user => eval{(getpwuid($<))[0]} || $ENV{USER} || $ENV{USERNAME}, + passwd => undef, + server => 'http://localhost/', + query => "Status!='resolved' and Status!='rejected'", + orderby => 'id', + queue => undef, +# to protect against unlimited searches a better choice would be +# queue => 'Unknown_Queue', +# setting externalauth => undef will try GSSAPI auth if the corresponding perl +# modules are installed, externalauth => 0 is the backward compatible choice + externalauth => 0, + ), + config_from_file($ENV{RTCONFIG} || ".rtrc"), + config_from_env() +); +my $session = Session->new("$HOME/.rt_sessions"); +my $REST = "$config{server}/REST/1.0"; +$no_strong_auth = 'switched off by externalauth=0' + if defined $config{externalauth}; + + +my $prompt = 'rt> '; + +sub whine; +sub DEBUG { warn @_ if $config{debug} >= shift } + +# These regexes are used by command handlers to parse arguments. +# (XXX: Ask Autrijus how i18n changes these definitions.) + +my $name = '[\w.-]+'; +my $CF_name = '[\sa-z0-9_ :()/-]+'; +my $field = '(?i:[a-z][a-z0-9_-]*|C(?:ustom)?F(?:ield)?-'.$CF_name.'|CF\.\{'.$CF_name.'\})'; +my $label = '[a-zA-Z0-9@_.+-]+'; +my $labels = "(?:$label,)*$label"; +my $idlist = '(?:(?:\d+-)?\d+,)*(?:\d+-)?\d+'; + +# Our command line looks like this: +# +# rt [options] [arguments] +# +# We'll parse just enough of it to decide upon an action to perform, and +# leave the rest to per-action handlers to interpret appropriately. + +my %handlers = ( +# handler => [ ...aliases... ], + version => ["version", "ver"], + shell => ["shell"], + logout => ["logout"], + help => ["help", "man"], + show => ["show", "cat"], + edit => ["create", "edit", "new", "ed"], + list => ["search", "list", "ls"], + comment => ["comment", "correspond"], + link => ["link", "ln"], + merge => ["merge"], + grant => ["grant", "revoke"], + take => ["take", "steal", "untake"], + quit => ["quit", "exit"], + setcommand => ["del", "delete", "give", "res", "resolve", + "subject"], +); + +my %actions; +foreach my $fn (keys %handlers) { + foreach my $alias (@{ $handlers{$fn} }) { + $actions{$alias} = \&{"$fn"}; + } +} + +# Once we find and call an appropriate handler, we're done. + +sub handler { + my $action; + + push @ARGV, 'shell' if (!@ARGV); # default to shell mode + shift @ARGV if ($ARGV[0] eq 'rt'); # ignore a leading 'rt' + if (@ARGV && exists $actions{$ARGV[0]}) { + $action = shift @ARGV; + return $actions{$action}->($action); + } + else { + print STDERR "rt: Unknown command '@ARGV'.\n"; + print STDERR "rt: For help, run 'rt help'.\n"; + return 1; + } +} + +exit handler(); + +# Handler functions. +# ------------------ +# +# The following subs are handlers for each entry in %actions. + +sub shell { + $|=1; + my $term = Term::ReadLine->new('RT CLI'); + while ( defined ($_ = $term->readline($prompt)) ) { + next if /^#/ || /^\s*$/; + + @ARGV = shellwords($_); + handler(); + } +} + +sub version { + print "rt $VERSION\n"; + return 0; +} + +sub logout { + submit("$REST/logout") if defined $session->cookie; + return 0; +} + +sub quit { + logout(); + exit; +} + +my %help; +sub help { + my ($action, $type, $rv) = @_; + $rv = defined $rv ? $rv : 0; + my $key; + + # What help topics do we know about? + if (!%help) { + local $/ = undef; + foreach my $item (@{ Form::parse() }) { + my $title = $item->[2]{Title}; + my @titles = ref $title eq 'ARRAY' ? @$title : $title; + + foreach $title (grep $_, @titles) { + $help{$title} = $item->[2]{Text}; + } + } + } + + # What does the user want help with? + undef $action if ($action && $actions{$action} eq \&help); + unless ($action || $type) { + # If we don't know, we'll look for clues in @ARGV. + foreach (@ARGV) { + if (exists $help{$_}) { $key = $_; last; } + } + unless ($key) { + # Tolerate possibly plural words. + foreach (@ARGV) { + if ($_ =~ s/s$// && exists $help{$_}) { $key = $_; last; } + } + } + } + + if ($type && $action) { + $key = "$type.$action"; + } + $key ||= $type || $action || "introduction"; + + # Find a suitable topic to display. + while (!exists $help{$key}) { + if ($type && $action) { + if ($key eq "$type.$action") { $key = $action; } + elsif ($key eq $action) { $key = $type; } + else { $key = "introduction"; } + } + else { + $key = "introduction"; + } + } + + print STDERR $help{$key}, "\n\n"; + return $rv; +} + +# Displays a list of objects that match some specified condition. + +sub list { + my ($q, $type, %data); + my $orderby = $config{orderby}; + + if ($config{orderby}) { + $data{orderby} = $config{orderby}; + } + my $bad = 0; + my $rawprint = 0; + my $reverse_sort = 0; + my $queue = $config{queue}; + + while (@ARGV) { + $_ = shift @ARGV; + + if (/^-t$/) { + $bad = 1, last unless defined($type = get_type_argument()); + } + elsif (/^-S$/) { + $bad = 1, last unless get_var_argument(\%data); + } + elsif (/^-o$/) { + $data{'orderby'} = shift @ARGV; + } + elsif (/^-([isl])$/) { + $data{format} = $1; + $rawprint = 1; + } + elsif (/^-q$/) { + $queue = shift @ARGV; + } + elsif (/^-r$/) { + $reverse_sort = 1; + } + elsif (/^-f$/) { + if ($ARGV[0] !~ /^(?:(?:$field,)*$field)$/) { + whine "No valid field list in '-f $ARGV[0]'."; + $bad = 1; last; + } + $data{fields} = shift @ARGV; + $data{format} = 's' if ! $data{format}; + $rawprint = 1; + } + elsif (!defined $q && !/^-/) { + $q = $_; + } + else { + my $datum = /^-/ ? "option" : "argument"; + whine "Unrecognised $datum '$_'."; + $bad = 1; last; + } + } + if ( ! $rawprint and ! exists $data{format} ) { + $data{format} = 'l'; + } + if ( $reverse_sort and $data{orderby} =~ /^-/ ) { + $data{orderby} =~ s/^-/+/; + } elsif ($reverse_sort) { + $data{orderby} =~ s/^\+?(.*)/-$1/; + } + + if (!defined $q) { + $q = $config{query}; + } + + $q =~ s/^#//; # get rid of leading hash + if ($q =~ /^\d+$/) { + # only digits, must be an id, formulate a correct query + $q = "id=$q" if $q =~ /^\d+$/; + } else { + # a string only, take it as an owner or requestor (quoting done later) + $q = "(Owner=$q or Requestor like $q) and $config{query}" + if $q =~ /^[\w\-]+$/; + # always add a query for a specific queue or (comma separated) queues + $queue =~ s/,/ or Queue=/g if $queue; + $q .= " and (Queue=$queue)" if $queue and $q and $q !~ /Queue\s*=/i + and $q !~ /id\s*=/i; + } + # correctly quote strings in a query + $q =~ s/(=|like\s)\s*([^'\d\s]\S*)\b/$1\'$2\'/g; + + $type ||= "ticket"; + unless ($type && defined $q) { + my $item = $type ? "query string" : "object type"; + whine "No $item specified."; + $bad = 1; + } + #return help("list", $type) if $bad; + return suggest_help("list", $type, $bad) if $bad; + + print "Query:$q\n" if ! $rawprint; + my $r = submit("$REST/search/$type", { query => $q, %data }); + if ( $rawprint ) { + print $r->content; + } else { + my $forms = Form::parse($r->content); + prettylist ($forms); + } + return 0; +} + +# Displays selected information about a single object. + +sub show { + my ($type, @objects, %data); + my $slurped = 0; + my $bad = 0; + my $rawprint = 0; + my $histspec; + + while (@ARGV) { + $_ = shift @ARGV; + s/^#// if /^#\d+/; # get rid of leading hash + if (/^-t$/) { + $bad = 1, last unless defined($type = get_type_argument()); + } + elsif (/^-S$/) { + $bad = 1, last unless get_var_argument(\%data); + } + elsif (/^-([isl])$/) { + $data{format} = $1; + $rawprint = 1; + } + elsif (/^-$/ && !$slurped) { + chomp(my @lines = ); + foreach (@lines) { + unless (is_object_spec($_, $type)) { + whine "Invalid object on STDIN: '$_'."; + $bad = 1; last; + } + push @objects, $_; + } + $slurped = 1; + } + elsif (/^-f$/) { + if ($ARGV[0] !~ /^(?:(?:$field,)*$field)$/) { + whine "No valid field list in '-f $ARGV[0]'."; + $bad = 1; last; + } + $data{fields} = shift @ARGV; + # option f requires short raw listing format + $data{format} = 's'; + $rawprint = 1; + } + elsif (/^\d+$/ and my $spc2 = is_object_spec("ticket/$_", $type)) { + push @objects, $spc2; + $histspec = is_object_spec("ticket/$_/history", $type); + } + elsif (/^\d+\// and my $spc3 = is_object_spec("ticket/$_", $type)) { + push @objects, $spc3; + $rawprint = 1 if $_ =~ /\/content$/; + } + elsif (my $spec = is_object_spec($_, $type)) { + push @objects, $spec; + $rawprint = 1 if $_ =~ /\/content$/ or $_ =~ /\/links/ or $_ !~ /^ticket/; + } + else { + my $datum = /^-/ ? "option" : "argument"; + whine "Unrecognised $datum '$_'."; + $bad = 1; last; + } + } + if ( ! $rawprint ) { + push @objects, $histspec if $histspec; + $data{format} = 'l' if ! exists $data{format}; + } + + unless (@objects) { + whine "No objects specified."; + $bad = 1; + } + #return help("show", $type) if $bad; + return suggest_help("show", $type, $bad) if $bad; + + my $r = submit("$REST/show", { id => \@objects, %data }); + my $c = $r->content; + # if this isn't a text reply, remove the trailing newline so we + # don't corrupt things like tarballs when people do + # show ticket/id/attachments/id/content > foo.tar.gz + if ($r->content_type !~ /^text\//) { + chomp($c); + $rawprint = 1; + } + if ( $rawprint ) { + print $c; + } else { + # I do not know how to get more than one form correctly returned + $c =~ s!^RT/[\d\.]+ 200 Ok$!--!mg; + my $forms = Form::parse($c); + prettyshow ($forms); + } + return 0; +} + +# To create a new object, we ask the server for a form with the defaults +# filled in, allow the user to edit it, and send the form back. +# +# To edit an object, we must ask the server for a form representing that +# object, make changes requested by the user (either on the command line +# or interactively via $EDITOR), and send the form back. + +sub edit { + my ($action) = @_; + my (%data, $type, @objects); + my ($cl, $text, $edit, $input, $output); + + use vars qw(%set %add %del); + %set = %add = %del = (); + my $slurped = 0; + my $bad = 0; + + while (@ARGV) { + $_ = shift @ARGV; + s/^#// if /^#\d+/; # get rid of leading hash + + if (/^-e$/) { $edit = 1 } + elsif (/^-i$/) { $input = 1 } + elsif (/^-o$/) { $output = 1 } + elsif (/^-t$/) { + $bad = 1, last unless defined($type = get_type_argument()); + } + elsif (/^-S$/) { + $bad = 1, last unless get_var_argument(\%data); + } + elsif (/^-$/ && !($slurped || $input)) { + chomp(my @lines = ); + foreach (@lines) { + unless (is_object_spec($_, $type)) { + whine "Invalid object on STDIN: '$_'."; + $bad = 1; last; + } + push @objects, $_; + } + $slurped = 1; + } + elsif (/^set$/i) { + my $vars = 0; + + while (@ARGV && $ARGV[0] =~ /^($field)([+-]?=)(.*)$/s) { + my ($key, $op, $val) = ($1, $2, $3); + my $hash = ($op eq '=') ? \%set : ($op =~ /^\+/) ? \%add : \%del; + + vpush($hash, lc $key, $val); + shift @ARGV; + $vars++; + } + unless ($vars) { + whine "No variables to set."; + $bad = 1; last; + } + $cl = $vars; + } + elsif (/^(?:add|del)$/i) { + my $vars = 0; + my $hash = ($_ eq "add") ? \%add : \%del; + + while (@ARGV && $ARGV[0] =~ /^($field)=(.*)$/s) { + my ($key, $val) = ($1, $2); + + vpush($hash, lc $key, $val); + shift @ARGV; + $vars++; + } + unless ($vars) { + whine "No variables to set."; + $bad = 1; last; + } + $cl = $vars; + } + elsif (/^\d+$/ and my $spc2 = is_object_spec("ticket/$_", $type)) { + push @objects, $spc2; + } + elsif (my $spec = is_object_spec($_, $type)) { + push @objects, $spec; + } + else { + my $datum = /^-/ ? "option" : "argument"; + whine "Unrecognised $datum '$_'."; + $bad = 1; last; + } + } + + if ($action =~ /^ed(?:it)?$/) { + unless (@objects) { + whine "No objects specified."; + $bad = 1; + } + } + else { + if (@objects) { + whine "You shouldn't specify objects as arguments to $action."; + $bad = 1; + } + unless ($type) { + whine "What type of object do you want to create?"; + $bad = 1; + } + @objects = ("$type/new") if defined($type); + } + #return help($action, $type) if $bad; + return suggest_help($action, $type, $bad) if $bad; + + # We need a form to make changes to. We usually ask the server for + # one, but we can avoid that if we are fed one on STDIN, or if the + # user doesn't want to edit the form by hand, and the command line + # specifies only simple variable assignments. We *should* get a + # form if we're creating a new ticket, so that the default values + # get filled in properly. + + my @new_objects = grep /\/new$/, @objects; + + if ($input) { + local $/ = undef; + $text = ; + } + elsif ($edit || %add || %del || !$cl || @new_objects) { + my $r = submit("$REST/show", { id => \@objects, format => 'l' }); + $text = $r->content; + } + + # If any changes were specified on the command line, apply them. + if ($cl) { + if ($text) { + # We're updating forms from the server. + my $forms = Form::parse($text); + + foreach my $form (@$forms) { + my ($c, $o, $k, $e) = @$form; + my ($key, $val); + + next if ($e || !@$o); + + local %add = %add; + local %del = %del; + local %set = %set; + + # Make changes to existing fields. + foreach $key (@$o) { + if (exists $add{lc $key}) { + $val = delete $add{lc $key}; + vpush($k, $key, $val); + $k->{$key} = vsplit($k->{$key}) if $val =~ /[,\n]/; + } + if (exists $del{lc $key}) { + $val = delete $del{lc $key}; + my %val = map {$_=>1} @{ vsplit($val) }; + $k->{$key} = vsplit($k->{$key}); + @{$k->{$key}} = grep {!exists $val{$_}} @{$k->{$key}}; + } + if (exists $set{lc $key}) { + $k->{$key} = delete $set{lc $key}; + } + } + + # Then update the others. + foreach $key (keys %set) { vpush($k, $key, $set{$key}) } + foreach $key (keys %add) { + vpush($k, $key, $add{$key}); + $k->{$key} = vsplit($k->{$key}); + } + push @$o, (keys %add, keys %set); + } + + $text = Form::compose($forms); + } + else { + # We're rolling our own set of forms. + my @forms; + foreach (@objects) { + my ($type, $ids, $args) = + m{^($name)/($idlist|$labels)(?:(/.*))?$}o; + + $args ||= ""; + foreach my $obj (expand_list($ids)) { + my %set = (%set, id => "$type/$obj$args"); + push @forms, ["", [keys %set], \%set]; + } + } + $text = Form::compose(\@forms); + } + } + + if ($output) { + print $text; + return 0; + } + + my $synerr = 0; + +EDIT: + # We'll let the user edit the form before sending it to the server, + # unless we have enough information to submit it non-interactively. + if ($edit || (!$input && !$cl)) { + my $newtext = vi($text); + # We won't resubmit a bad form unless it was changed. + $text = ($synerr && $newtext eq $text) ? undef : $newtext; + } + + if ($text) { + my $r = submit("$REST/edit", {content => $text, %data}); + if ($r->code == 409) { + # If we submitted a bad form, we'll give the user a chance + # to correct it and resubmit. + if ($edit || (!$input && !$cl)) { + $text = $r->content; + $synerr = 1; + goto EDIT; + } + else { + print $r->content; + return 0; + } + } + print $r->content; + } + return 0; +} + +# handler for special edit commands. A valid edit command is constructed and +# further work is delegated to the edit handler + +sub setcommand { + my ($action) = @_; + my ($id, $bad, $what); + if ( @ARGV ) { + $_ = shift @ARGV; + $id = $1 if (m|^(?:ticket/)?($idlist)$|); + } + if ( ! $id ) { + $bad = 1; + whine "No ticket number specified."; + } + if ( @ARGV ) { + if ($action eq 'subject') { + my $subject = '"'.join (" ", @ARGV).'"'; + @ARGV = (); + $what = "subject=$subject"; + } elsif ($action eq 'give') { + my $owner = shift @ARGV; + $what = "owner=$owner"; + } + } else { + if ( $action eq 'delete' or $action eq 'del' ) { + $what = "status=deleted"; + } elsif ($action eq 'resolve' or $action eq 'res' ) { + $what = "status=resolved"; + } elsif ($action eq 'take' ) { + $what = "owner=$config{user}"; + } elsif ($action eq 'untake') { + $what = "owner=Nobody"; + } + } + if (@ARGV) { + $bad = 1; + whine "Extraneous arguments for action $action: @ARGV."; + } + if ( ! $what ) { + $bad = 1; + whine "unrecognized action $action."; + } + return help("edit", undef, $bad) if $bad; + @ARGV = ( $id, "set", $what ); + print "Executing: rt edit @ARGV\n"; + return edit("edit"); +} + +# We roll "comment" and "correspond" into the same handler. + +sub comment { + my ($action) = @_; + my (%data, $id, @files, @bcc, @cc, $msg, $wtime, $edit); + my $bad = 0; + + while (@ARGV) { + $_ = shift @ARGV; + + if (/^-e$/) { + $edit = 1; + } + elsif (/^-[abcmw]$/) { + unless (@ARGV) { + whine "No argument specified with $_."; + $bad = 1; last; + } + + if (/-a/) { + unless (-f $ARGV[0] && -r $ARGV[0]) { + whine "Cannot read attachment: '$ARGV[0]'."; + return 0; + } + push @files, shift @ARGV; + } + elsif (/-([bc])/) { + my $a = $_ eq "-b" ? \@bcc : \@cc; + @$a = split /\s*,\s*/, shift @ARGV; + } + elsif (/-m/) { + $msg = shift @ARGV; + if ( $msg =~ /^-$/ ) { + undef $msg; + while () { $msg .= $_ } + } + } + + elsif (/-w/) { $wtime = shift @ARGV } + } + elsif (!$id && m|^(?:ticket/)?($idlist)$|) { + $id = $1; + } + else { + my $datum = /^-/ ? "option" : "argument"; + whine "Unrecognised $datum '$_'."; + $bad = 1; last; + } + } + + unless ($id) { + whine "No object specified."; + $bad = 1; + } + #return help($action, "ticket") if $bad; + return suggest_help($action, "ticket") if $bad; + + my $form = [ + "", + [ "Ticket", "Action", "Cc", "Bcc", "Attachment", "TimeWorked", "Text" ], + { + Ticket => $id, + Action => $action, + Cc => [ @cc ], + Bcc => [ @bcc ], + Attachment => [ @files ], + TimeWorked => $wtime || '', + Text => $msg || '', + Status => '' + } + ]; + + my $text = Form::compose([ $form ]); + + if ($edit || !$msg) { + my $error = 0; + my ($c, $o, $k, $e); + + do { + my $ntext = vi($text); + return if ($error && $ntext eq $text); + $text = $ntext; + $form = Form::parse($text); + $error = 0; + + ($c, $o, $k, $e) = @{ $form->[0] }; + if ($e) { + $error = 1; + $c = "# Syntax error."; + goto NEXT; + } + elsif (!@$o) { + return 0; + } + @files = @{ vsplit($k->{Attachment}) }; + + NEXT: + $text = Form::compose([[$c, $o, $k, $e]]); + } while ($error); + } + + my $i = 1; + foreach my $file (@files) { + $data{"attachment_$i"} = bless([ $file ], "Attachment"); + $i++; + } + $data{content} = $text; + + my $r = submit("$REST/ticket/$id/comment", \%data); + print $r->content; + return 0; +} + +# Merge one ticket into another. + +sub merge { + my @id; + my $bad = 0; + + while (@ARGV) { + $_ = shift @ARGV; + s/^#// if /^#\d+/; # get rid of leading hash + + if (/^\d+$/) { + push @id, $_; + } + else { + whine "Unrecognised argument: '$_'."; + $bad = 1; last; + } + } + + unless (@id == 2) { + my $evil = @id > 2 ? "many" : "few"; + whine "Too $evil arguments specified."; + $bad = 1; + } + #return help("merge", "ticket") if $bad; + return suggest_help("merge", "ticket", $bad) if $bad; + + my $r = submit("$REST/ticket/$id[0]/merge/$id[1]"); + print $r->content; + return 0; +} + +# Link one ticket to another. + +sub link { + my ($bad, $del, %data) = (0, 0, ()); + my $type; + + my %ltypes = map { lc $_ => $_ } qw(DependsOn DependedOnBy RefersTo + ReferredToBy HasMember MemberOf); + + while (@ARGV && $ARGV[0] =~ /^-/) { + $_ = shift @ARGV; + + if (/^-d$/) { + $del = 1; + } + elsif (/^-t$/) { + $bad = 1, last unless defined($type = get_type_argument()); + } + else { + whine "Unrecognised option: '$_'."; + $bad = 1; last; + } + } + + $type = "ticket" unless $type; # default type to tickets + + if (@ARGV == 3) { + my ($from, $rel, $to) = @ARGV; + if (($type eq "ticket") && ( ! exists $ltypes{lc $rel})) { + whine "Invalid link '$rel' for type $type specified."; + $bad = 1; + } + %data = (id => $from, rel => $rel, to => $to, del => $del); + } + else { + my $bad = @ARGV < 3 ? "few" : "many"; + whine "Too $bad arguments specified."; + $bad = 1; + } + return suggest_help("link", $type, $bad) if $bad; + + my $r = submit("$REST/$type/link", \%data); + print $r->content; + return 0; +} + +# Take/steal a ticket +sub take { + my ($cmd) = @_; + my ($bad, %data) = (0, ()); + + my $id; + + # get the ticket id + if (@ARGV == 1) { + ($id) = @ARGV; + unless ($id =~ /^\d+$/) { + whine "Invalid ticket ID $id specified."; + $bad = 1; + } + my $form = [ + "", + [ "Ticket", "Action" ], + { + Ticket => $id, + Action => $cmd, + Status => '', + } + ]; + + my $text = Form::compose([ $form ]); + $data{content} = $text; + } + else { + $bad = @ARGV < 1 ? "few" : "many"; + whine "Too $bad arguments specified."; + $bad = 1; + } + return suggest_help("take", "ticket", $bad) if $bad; + + my $r = submit("$REST/ticket/$id/take", \%data); + print $r->content; + return 0; +} + +# Grant/revoke a user's rights. + +sub grant { + my ($cmd) = @_; + + my $revoke = 0; + while (@ARGV) { + } + + $revoke = 1 if $cmd->{action} eq 'revoke'; + return 0; +} + +# Client <-> Server communication. +# -------------------------------- +# +# This function composes and sends an HTTP request to the RT server, and +# interprets the response. It takes a request URI, and optional request +# data (a string, or a reference to a set of key-value pairs). + +sub submit { + my ($uri, $content) = @_; + my ($req, $data); + my $ua = LWP::UserAgent->new(agent => "RT/3.0b", env_proxy => 1); + my $h = HTTP::Headers->new; + + # Did the caller specify any data to send with the request? + $data = []; + if (defined $content) { + unless (ref $content) { + # If it's just a string, make sure LWP handles it properly. + # (By pretending that it's a file!) + $content = [ content => [undef, "", Content => $content] ]; + } + elsif (ref $content eq 'HASH') { + my @data; + foreach my $k (keys %$content) { + if (ref $content->{$k} eq 'ARRAY') { + foreach my $v (@{ $content->{$k} }) { + push @data, $k, $v; + } + } + else { push @data, $k, $content->{$k} } + } + $content = \@data; + } + $data = $content; + } + + # Should we send authentication information to start a new session? + my $how = $config{server} =~ /^https/ ? 'over SSL' : 'unencrypted'; + (my $server = $config{server}) =~ s/^.*\/\/([^\/]+)\/?/$1/; + if ($config{externalauth}) { + $h->authorization_basic($config{user}, $config{passwd} || read_passwd() ); + print " Password will be sent to $server $how\n", + " Press CTRL-C now if you do not want to continue\n" + if ! $config{passwd}; + } elsif ( $no_strong_auth ) { + if (!defined $session->cookie) { + print " Strong encryption not available, $no_strong_auth\n", + " Password will be sent to $server $how\n", + " Press CTRL-C now if you do not want to continue\n" + if ! $config{passwd}; + push @$data, ( user => $config{user} ); + push @$data, ( pass => $config{passwd} || read_passwd() ); + } + } + + # Now, we construct the request. + if (@$data) { + $req = POST($uri, $data, Content_Type => 'form-data'); + } + else { + $req = GET($uri); + } + $session->add_cookie_header($req); + if ($config{externalauth}) { + $req->header(%$h); + } + + # Then we send the request and parse the response. + DEBUG(3, $req->as_string); + my $res = $ua->request($req); + DEBUG(3, $res->as_string); + + if ($res->is_success) { + # The content of the response we get from the RT server consists + # of an HTTP-like status line followed by optional header lines, + # a blank line, and arbitrary text. + + my ($head, $text) = split /\n\n/, $res->content, 2; + my ($status, @headers) = split /\n/, $head; + $text =~ s/\n*$/\n/ if ($text); + + # "RT/3.0.1 401 Credentials required" + if ($status !~ m#^RT/\d+(?:\S+) (\d+) ([\w\s]+)$#) { + warn "rt: Malformed RT response from $config{server}.\n"; + warn "(Rerun with RTDEBUG=3 for details.)\n" if $config{debug} < 3; + exit -1; + } + + # Our caller can pretend that the server returned a custom HTTP + # response code and message. (Doing that directly is apparently + # not sufficiently portable and uncomplicated.) + $res->code($1); + $res->message($2); + $res->content($text); + $session->update($res) if ($res->is_success || $res->code != 401); + + if (!$res->is_success) { + # We can deal with authentication failures ourselves. Either + # we sent invalid credentials, or our session has expired. + if ($res->code == 401) { + my %d = @$data; + if (exists $d{user}) { + warn "rt: Incorrect username or password.\n"; + exit -1; + } + elsif ($req->header("Cookie")) { + # We'll retry the request with credentials, unless + # we only wanted to logout in the first place. + $session->delete; + return submit(@_) unless $uri eq "$REST/logout"; + } + } + # Conflicts should be dealt with by the handler and user. + # For anything else, we just die. + elsif ($res->code != 409) { + warn "rt: ", $res->content; + #exit; + } + } + } + else { + warn "rt: Server error: ", $res->message, " (", $res->code, ")\n"; + exit -1; + } + + return $res; +} + +# Session management. +# ------------------- +# +# Maintains a list of active sessions in the ~/.rt_sessions file. +{ + package Session; + my ($s, $u); + + # Initialises the session cache. + sub new { + my ($class, $file) = @_; + my $self = { + file => $file || "$HOME/.rt_sessions", + sids => { } + }; + + # The current session is identified by the currently configured + # server and user. + ($s, $u) = @config{"server", "user"}; + + bless $self, $class; + $self->load(); + + return $self; + } + + # Returns the current session cookie. + sub cookie { + my ($self) = @_; + my $cookie = $self->{sids}{$s}{$u}; + return defined $cookie ? "RT_SID_$cookie" : undef; + } + + # Deletes the current session cookie. + sub delete { + my ($self) = @_; + delete $self->{sids}{$s}{$u}; + } + + # Adds a Cookie header to an outgoing HTTP request. + sub add_cookie_header { + my ($self, $request) = @_; + my $cookie = $self->cookie(); + + $request->header(Cookie => $cookie) if defined $cookie; + } + + # Extracts the Set-Cookie header from an HTTP response, and updates + # session information accordingly. + sub update { + my ($self, $response) = @_; + my $cookie = $response->header("Set-Cookie"); + + if (defined $cookie && $cookie =~ /^RT_SID_(.[^;,\s]+=[0-9A-Fa-f]+);/) { + $self->{sids}{$s}{$u} = $1; + } + } + + # Loads the session cache from the specified file. + sub load { + my ($self, $file) = @_; + $file ||= $self->{file}; + + open( my $handle, '<', $file ) or return 0; + + $self->{file} = $file; + my $sids = $self->{sids} = {}; + while (<$handle>) { + chomp; + next if /^$/ || /^#/; + next unless m#^https?://[^ ]+ \w+ [^;,\s]+=[0-9A-Fa-f]+$#; + my ($server, $user, $cookie) = split / /, $_; + $sids->{$server}{$user} = $cookie; + } + return 1; + } + + # Writes the current session cache to the specified file. + sub save { + my ($self, $file) = shift; + $file ||= $self->{file}; + + open( my $handle, '>', "$file" ) or return 0; + + my $sids = $self->{sids}; + foreach my $server (keys %$sids) { + foreach my $user (keys %{ $sids->{$server} }) { + my $sid = $sids->{$server}{$user}; + if (defined $sid) { + print $handle "$server $user $sid\n"; + } + } + } + close($handle); + chmod 0600, $file; + return 1; + } + + sub DESTROY { + my $self = shift; + $self->save; + } +} + +# Form handling. +# -------------- +# +# Forms are RFC822-style sets of (field, value) specifications with some +# initial comments and interspersed blank lines allowed for convenience. +# Sets of forms are separated by --\n (in a cheap parody of MIME). +# +# Each form is parsed into an array with four elements: commented text +# at the start of the form, an array with the order of keys, a hash with +# key/value pairs, and optional error text if the form syntax was wrong. + +# Returns a reference to an array of parsed forms. +sub Form::parse { + my $state = 0; + my @forms = (); + my @lines = split /\n/, $_[0] if $_[0]; + my ($c, $o, $k, $e) = ("", [], {}, ""); + + LINE: + while (@lines) { + my $line = shift @lines; + + next LINE if $line eq ''; + + if ($line eq '--') { + # We reached the end of one form. We'll ignore it if it was + # empty, and store it otherwise, errors and all. + if ($e || $c || @$o) { + push @forms, [ $c, $o, $k, $e ]; + $c = ""; $o = []; $k = {}; $e = ""; + } + $state = 0; + } + elsif ($state != -1) { + if ($state == 0 && $line =~ /^#/) { + # Read an optional block of comments (only) at the start + # of the form. + $state = 1; + $c = $line; + while (@lines && $lines[0] =~ /^#/) { + $c .= "\n".shift @lines; + } + $c .= "\n"; + } + elsif ($state <= 1 && $line =~ /^($field):(?:\s+(.*))?$/) { + # Read a field: value specification. + my $f = $1; + my @v = ($2 || ()); + + # Read continuation lines, if any. + while (@lines && ($lines[0] eq '' || $lines[0] =~ /^\s+/)) { + push @v, shift @lines; + } + pop @v while (@v && $v[-1] eq ''); + + # Strip longest common leading indent from text. + my $ws = ""; + foreach my $ls (map {/^(\s+)/} @v[1..$#v]) { + $ws = $ls if (!$ws || length($ls) < length($ws)); + } + s/^$ws// foreach @v; + + push(@$o, $f) unless exists $k->{$f}; + vpush($k, $f, join("\n", @v)); + + $state = 1; + } + elsif ($line !~ /^#/) { + # We've found a syntax error, so we'll reconstruct the + # form parsed thus far, and add an error marker. (>>) + $state = -1; + $e = Form::compose([[ "", $o, $k, "" ]]); + $e.= $line =~ /^>>/ ? "$line\n" : ">> $line\n"; + } + } + else { + # We saw a syntax error earlier, so we'll accumulate the + # contents of this form until the end. + $e .= "$line\n"; + } + } + push(@forms, [ $c, $o, $k, $e ]) if ($e || $c || @$o); + + foreach my $l (keys %$k) { + $k->{$l} = vsplit($k->{$l}) if (ref $k->{$l} eq 'ARRAY'); + } + + return \@forms; +} + +# Returns text representing a set of forms. +sub Form::compose { + my ($forms) = @_; + my @text; + + foreach my $form (@$forms) { + my ($c, $o, $k, $e) = @$form; + my $text = ""; + + if ($c) { + $c =~ s/\n*$/\n/; + $text = "$c\n"; + } + if ($e) { + $text .= $e; + } + elsif ($o) { + my @lines; + + foreach my $key (@$o) { + my ($line, $sp); + my $v = $k->{$key}; + my @values = ref $v eq 'ARRAY' ? @$v : $v; + + $sp = " "x(length("$key: ")); + $sp = " "x4 if length($sp) > 16; + + foreach $v (@values) { + if ($v =~ /\n/) { + $v =~ s/^/$sp/gm; + $v =~ s/^$sp//; + + if ($line) { + push @lines, "$line\n\n"; + $line = ""; + } + elsif (@lines && $lines[-1] !~ /\n\n$/) { + $lines[-1] .= "\n"; + } + push @lines, "$key: $v\n\n"; + } + elsif ($line && + length($line)+length($v)-rindex($line, "\n") >= 70) + { + $line .= ",\n$sp$v"; + } + else { + $line = $line ? "$line,$v" : "$key: $v"; + } + } + + $line = "$key:" unless @values; + if ($line) { + if ($line =~ /\n/) { + if (@lines && $lines[-1] !~ /\n\n$/) { + $lines[-1] .= "\n"; + } + $line .= "\n"; + } + push @lines, "$line\n"; + } + } + + $text .= join "", @lines; + } + else { + chomp $text; + } + push @text, $text; + } + + return join "\n--\n\n", @text; +} + +# Configuration. +# -------------- + +# Returns configuration information from the environment. +sub config_from_env { + my %env; + + foreach my $k (qw(EXTERNALAUTH DEBUG USER PASSWD SERVER QUERY ORDERBY)) { + + if (exists $ENV{"RT$k"}) { + $env{lc $k} = $ENV{"RT$k"}; + } + } + + return %env; +} + +# Finds a suitable configuration file and returns information from it. +sub config_from_file { + my ($rc) = @_; + + if ($rc =~ m#^/#) { + # We'll use an absolute path if we were given one. + return parse_config_file($rc); + } + else { + # Otherwise we'll use the first file we can find in the current + # directory, or in one of its (increasingly distant) ancestors. + + my @dirs = split /\//, cwd; + while (@dirs) { + my $file = join('/', @dirs, $rc); + if (-r $file) { + return parse_config_file($file); + } + + # Remove the last directory component each time. + pop @dirs; + } + + # Still nothing? We'll fall back to some likely defaults. + for ("$HOME/$rc", "/opt/rt3/local/etc/rt.conf", "/etc/rt.conf") { + return parse_config_file($_) if (-r $_); + } + } + + return (); +} + +# Makes a hash of the specified configuration file. +sub parse_config_file { + my %cfg; + my ($file) = @_; + local $_; # $_ may be aliased to a constant, from line 1163 + + open( my $handle, '<', $file ) or return; + + while (<$handle>) { + chomp; + next if (/^#/ || /^\s*$/); + + if (/^(externalauth|user|passwd|server|query|orderby|queue)\s+(.*)\s?$/) { + $cfg{$1} = $2; + } + else { + die "rt: $file:$.: unknown configuration directive.\n"; + } + } + + return %cfg; +} + +# Helper functions. +# ----------------- + +sub whine { + my $sub = (caller(1))[3]; + $sub =~ s/^main:://; + warn "rt: $sub: @_\n"; + return 0; +} + +sub read_passwd { + eval 'require Term::ReadKey'; + if ($@) { + die "No password specified (and Term::ReadKey not installed).\n"; + } + + print "Password: "; + Term::ReadKey::ReadMode('noecho'); + chomp(my $passwd = Term::ReadKey::ReadLine(0)); + Term::ReadKey::ReadMode('restore'); + print "\n"; + + return $passwd; +} + +sub vi { + my ($text) = @_; + my $file = "/tmp/rt.form.$$"; + my $editor = $ENV{EDITOR} || $ENV{VISUAL} || "vi"; + + local $/ = undef; + + open( my $handle, '>', $file ) or die "$file: $!\n"; + print $handle $text; + close($handle); + + system($editor, $file) && die "Couldn't run $editor.\n"; + + open( $handle, '<', $file ) or die "$file: $!\n"; + $text = <$handle>; + close($handle); + + unlink($file); + + return $text; +} + +# Add a value to a (possibly multi-valued) hash key. +sub vpush { + my ($hash, $key, $val) = @_; + my @val = ref $val eq 'ARRAY' ? @$val : $val; + + if (exists $hash->{$key}) { + unless (ref $hash->{$key} eq 'ARRAY') { + my @v = $hash->{$key} ne '' ? $hash->{$key} : (); + $hash->{$key} = \@v; + } + push @{ $hash->{$key} }, @val; + } + else { + $hash->{$key} = $val; + } +} + +# "Normalise" a hash key that's known to be multi-valued. +sub vsplit { + my ($val) = @_; + my ($word, @words); + my @values = ref $val eq 'ARRAY' ? @$val : $val; + + foreach my $line (map {split /\n/} @values) { + # XXX: This should become a real parser, à la Text::ParseWords. + $line =~ s/^\s+//; + $line =~ s/\s+$//; + my ( $a, $b ) = split /\s*,\s*/, $line, 2; + + while ($a) { + no warnings 'uninitialized'; + if ( $a =~ /^'/ ) { + my $s = $a; + while ( $a !~ /'$/ || ( $a !~ /(\\\\)+'$/ + && $a =~ /(\\)+'$/ )) { + ( $a, $b ) = split /\s*,\s*/, $b, 2; + $s .= ',' . $a; + } + push @words, $s; + } + elsif ( $a =~ /^q{/ ) { + my $s = $a; + while ( $a !~ /}$/ ) { + ( $a, $b ) = + split /\s*,\s*/, $b, 2; + $s .= ',' . $a; + } + $s =~ s/^q{/'/; + $s =~ s/}/'/; + push @words, $s; + } + else { + push @words, $a; + } + ( $a, $b ) = split /\s*,\s*/, $b, 2; + } + + + } + + return \@words; +} + +# WARN: this code is duplicated in lib/RT/Interface/REST.pm +# change both functions at once +sub expand_list { + my ($list) = @_; + + my @elts; + foreach (split /\s*,\s*/, $list) { + push @elts, /^(\d+)-(\d+)$/? ($1..$2): $_; + } + + return map $_->[0], # schwartzian transform + sort { + defined $a->[1] && defined $b->[1]? + # both numbers + $a->[1] <=> $b->[1] + :!defined $a->[1] && !defined $b->[1]? + # both letters + $a->[2] cmp $b->[2] + # mix, number must be first + :defined $a->[1]? -1: 1 + } + map [ $_, (defined( /^(\d+)$/ )? $1: undef), lc($_) ], + @elts; +} + +sub get_type_argument { + my $type; + + if (@ARGV) { + $type = shift @ARGV; + unless ($type =~ /^[A-Za-z0-9_.-]+$/) { + # We want whine to mention our caller, not us. + @_ = ("Invalid type '$type' specified."); + goto &whine; + } + } + else { + @_ = ("No type argument specified with -t."); + goto &whine; + } + + $type =~ s/s$//; # "Plural". Ugh. + return $type; +} + +sub get_var_argument { + my ($data) = @_; + + if (@ARGV) { + my $kv = shift @ARGV; + if (my ($k, $v) = $kv =~ /^($field)=(.*)$/) { + push @{ $data->{$k} }, $v; + } + else { + @_ = ("Invalid variable specification: '$kv'."); + goto &whine; + } + } + else { + @_ = ("No variable argument specified with -S."); + goto &whine; + } +} + +sub is_object_spec { + my ($spec, $type) = @_; + + $spec =~ s|^(?:$type/)?|$type/| if defined $type; + return $spec if ($spec =~ m{^$name/(?:$idlist|$labels)(?:/.*)?$}o); + return 0; +} + +sub suggest_help { + my ($action, $type, $rv) = @_; + + print STDERR "rt: For help, run 'rt help $action'.\n" if defined $action; + print STDERR "rt: For help, run 'rt help $type'.\n" if defined $type; + return $rv; +} + +sub str2time { + # simplified procedure for parsing date, avoid loading Date::Parse + my %month = (Jan => 0, Feb => 1, Mar => 2, Apr => 3, May => 4, Jun => 5, + Jul => 6, Aug => 7, Sep => 8, Oct => 9, Nov => 10, Dec => 11); + $_ = shift; + my ($mon, $day, $hr, $min, $sec, $yr, $monstr); + if ( /(\w{3})\s+(\d\d?)\s+(\d\d):(\d\d):(\d\d)\s+(\d{4})/ ) { + ($monstr, $day, $hr, $min, $sec, $yr) = ($1, $2, $3, $4, $5, $6); + $mon = $month{$monstr} if exists $month{$monstr}; + } elsif ( /(\d{4})-(\d\d)-(\d\d)\s+(\d\d):(\d\d):(\d\d)/ ) { + ($yr, $mon, $day, $hr, $min, $sec) = ($1, $2-1, $3, $4, $5, $6); + } + if ( $yr and defined $mon and $day and defined $hr and defined $sec ) { + return timelocal($sec,$min,$hr,$day,$mon,$yr); + } else { + print "Unknown date format in parsedate: $_\n"; + return undef; + } +} + +sub date_diff { + my ($old, $new) = @_; + $new = time() if ! $new; + $old = str2time($old) if $old !~ /^\d+$/; + $new = str2time($new) if $new !~ /^\d+$/; + return "???" if ! $old or ! $new; + + my %seconds = (min => 60, + hr => 60*60, + day => 60*60*24, + wk => 60*60*24*7, + mth => 60*60*24*30, + yr => 60*60*24*365); + + my $diff = $new - $old; + my $what = 'sec'; + my $howmuch = $diff; + for ( sort {$seconds{$a} <=> $seconds{$b}} keys %seconds) { + last if $diff < $seconds{$_}; + $what = $_; + $howmuch = int($diff/$seconds{$_}); + } + return "$howmuch $what"; +} + +sub prettyshow { + my $forms = shift; + my ($form) = grep { exists $_->[2]->{Queue} } @$forms; + my $k = $form->[2]; + # dates are in local time zone + if ( $k ) { + print "Date: $k->{Created}\n"; + print "From: $k->{Requestors}\n"; + print "Cc: $k->{Cc}\n" if $k->{Cc}; + print "X-AdminCc: $k->{AdminCc}\n" if $k->{AdminCc}; + print "X-Queue: $k->{Queue}\n"; + print "Subject: [rt #$k->{id}] $k->{Subject}\n\n"; + } + # dates in these attributes are in GMT and will be converted + foreach my $form (@$forms) { + my ($c, $o, $k, $e) = @$form; + next if ! $k->{id} or exists $k->{Queue}; + if ( exists $k->{Created} ) { + my ($y,$m,$d,$hh,$mm,$ss) = ($k->{Created} =~ /(\d\d\d\d)-(\d\d)-(\d\d) (\d\d):(\d\d):(\d\d)/); + $m--; + my $created = localtime(timegm($ss,$mm,$hh,$d,$m,$y)); + if ( exists $k->{Description} ) { + print "===> $k->{Description} on $created\n"; + } + } + print "$k->{Content}\n" if exists $k->{Content} and + $k->{Content} !~ /to have no content$/ and + ($k->{Type}||'') ne 'EmailRecord'; + print "$k->{Attachments}\n" if exists $k->{Attachments} and + $k->{Attachments}; + } +} + +sub prettylist { + my $forms = shift; + my $heading = "Ticket Owner Queue Age Told Status Requestor Subject\n"; + $heading .= '-' x 80 . "\n"; + my (@open, @me); + foreach my $form (@$forms) { + my ($c, $o, $k, $e) = @$form; + next if ! $k->{id}; + print $heading if $heading; + $heading = ''; + my $id = $k->{id}; + $id =~ s!^ticket/!!; + my $owner = $k->{Owner} eq 'Nobody' ? '' : $k->{Owner}; + $owner = substr($owner, 0, 5); + my $queue = substr($k->{Queue}, 0, 5); + my $subject = substr($k->{Subject}, 0, 30); + my $age = date_diff($k->{Created}); + my $told = $k->{Told} eq 'Not set' ? '' : date_diff($k->{Told}); + my $status = substr($k->{Status}, 0, 6); + my $requestor = substr($k->{Requestors}, 0, 9); + my $line = sprintf "%6s %5s %5s %6s %6s %-6s %-9s %-30s\n", + $id, $owner, $queue, $age, $told, $status, $requestor, $subject; + if ( $k->{Owner} eq 'Nobody' ) { + push @open, $line; + } elsif ($k->{Owner} eq $config{user} ) { + push @me, $line; + } else { + print $line; + } + } + print "No matches found\n" if $heading; + printf "========== my %2d open tickets ==========\n", scalar @me if @me; + print @me if @me; + printf "========== %2d unowned tickets ==========\n", scalar @open if @open; + print @open if @open; +} + +__DATA__ + +Title: intro +Title: introduction +Text: + + This is a command-line interface to RT 3.0 or newer. + + It allows you to interact with an RT server over HTTP, and offers an + interface to RT's functionality that is better-suited to automation + and integration with other tools. + + In general, each invocation of this program should specify an action + to perform on one or more objects, and any other arguments required + to complete the desired action. + + For more information: + + - rt help usage (syntax information) + - rt help objects (how to specify objects) + - rt help actions (a list of possible actions) + - rt help types (a list of object types) + + - rt help config (configuration details) + - rt help examples (a few useful examples) + - rt help topics (a list of help topics) + +-- + +Title: usage +Title: syntax +Text: + + Syntax: + + rt [options] [arguments] + or + rt shell + + Each invocation of this program must specify an action (e.g. "edit", + "create"), options to modify behaviour, and other arguments required + by the specified action. (For example, most actions expect a list of + numeric object IDs to act upon.) + + The details of the syntax and arguments for each action are given by + "rt help ". Some actions may be referred to by more than one + name ("create" is the same as "new", for example). + + You may also call "rt shell", which will give you an 'rt>' prompt at + which you can issue commands of the form " [options] + [arguments]". See "rt help shell" for details. + + Objects are identified by a type and an ID (which can be a name or a + number, depending on the type). For some actions, the object type is + implied (you can only comment on tickets); for others, the user must + specify it explicitly. See "rt help objects" for details. + + In syntax descriptions, mandatory arguments that must be replaced by + appropriate value are enclosed in <>, and optional arguments are + indicated by [] (for example, and [options] above). + + For more information: + + - rt help objects (how to specify objects) + - rt help actions (a list of actions) + - rt help types (a list of object types) + - rt help shell (how to use the shell) + +-- + +Title: conf +Title: config +Title: configuration +Text: + + This program has two major sources of configuration information: its + configuration files, and the environment. + + The program looks for configuration directives in a file named .rtrc + (or $RTCONFIG; see below) in the current directory, and then in more + distant ancestors, until it reaches /. If no suitable configuration + files are found, it will also check for ~/.rtrc, /opt/rt3/local/etc/rt.conf + and /etc/rt.conf. + + Configuration directives: + + The following directives may occur, one per line: + + - server URL to RT server. + - user RT username. + - passwd RT user's password. + - query Default RT Query for list action + - orderby Default RT order for list action + - queue Default RT Queue for list action + - externalauth <0|1> Use HTTP Basic authentication + explicitely setting externalauth to 0 inhibits also GSSAPI based + authentication, if LWP::Authen::Negotiate (and GSSAPI) is installed + + Blank and #-commented lines are ignored. + + Sample configuration file contents: + + server https://rt.somewhere.com/ + # more than one queue can be given (by adding a query expression) + queue helpdesk or queue=support + query Status != resolved and Owner=myaccount + + + Environment variables: + + The following environment variables override any corresponding + values defined in configuration files: + + - RTUSER + - RTPASSWD + - RTEXTERNALAUTH + - RTSERVER + - RTDEBUG Numeric debug level. (Set to 3 for full logs.) + - RTCONFIG Specifies a name other than ".rtrc" for the + configuration file. + - RTQUERY Default RT Query for rt list + - RTORDERBY Default order for rt list + +-- + +Title: objects +Text: + + Syntax: + + /[/] + + Every object in RT has a type (e.g. "ticket", "queue") and a numeric + ID. Some types of objects can also be identified by name (like users + and queues). Furthermore, objects may have named attributes (such as + "ticket/1/history"). + + An object specification is like a path in a virtual filesystem, with + object types as top-level directories, object IDs as subdirectories, + and named attributes as further subdirectories. + + A comma-separated list of names, numeric IDs, or numeric ranges can + be used to specify more than one object of the same type. Note that + the list must be a single argument (i.e., no spaces). For example, + "user/root,1-3,5,7-10,ams" is a list of ten users; the same list + can also be written as "user/ams,root,1,2,3,5,7,8-10". + + If just a number is given as object specification it will be + interpreted as ticket/ + + Examples: + + 1 # the same as ticket/1 + ticket/1 + ticket/1/attachments + ticket/1/attachments/3 + ticket/1/attachments/3/content + ticket/1-3/links + ticket/1-3,5-7/history + + user/ams + user/ams/rights + user/ams,rai,1/rights + + For more information: + + - rt help (action-specific details) + - rt help (type-specific details) + +-- + +Title: actions +Title: commands +Text: + + You can currently perform the following actions on all objects: + + - list (list objects matching some condition) + - show (display object details) + - edit (edit object details) + - create (create a new object) + + Each type may define actions specific to itself; these are listed in + the help item about that type. + + For more information: + + - rt help (action-specific details) + - rt help types (a list of possible types) + + The following actions on tickets are also possible: + + - comment Add comments to a ticket + - correspond Add comments to a ticket + - merge Merge one ticket into another + - link Link one ticket to another + - take Take a ticket (steal and untake are possible as well) + + For several edit set subcommands that are frequently used abbreviations + have been introduced. These abbreviations are: + + - delete or del delete a ticket (edit set status=deleted) + - resolve or res resolve a ticket (edit set status=resolved) + - subject change subject of ticket (edit set subject=string) + - give give a ticket to somebody (edit set owner=user) + +-- + +Title: types +Text: + + You can currently operate on the following types of objects: + + - tickets + - users + - groups + - queues + + For more information: + + - rt help (type-specific details) + - rt help objects (how to specify objects) + - rt help actions (a list of possible actions) + +-- + +Title: ticket +Text: + + Tickets are identified by a numeric ID. + + The following generic operations may be performed upon tickets: + + - list + - show + - edit + - create + + In addition, the following ticket-specific actions exist: + + - link + - merge + - comment + - correspond + - take + - steal + - untake + - give + - resolve + - delete + - subject + + Attributes: + + The following attributes can be used with "rt show" or "rt edit" + to retrieve or edit other information associated with tickets: + + links A ticket's relationships with others. + history All of a ticket's transactions. + history/type/ Only a particular type of transaction. + history/id/ Only the transaction of the specified id. + attachments A list of attachments. + attachments/ The metadata for an individual attachment. + attachments//content The content of an individual attachment. + +-- + +Title: user +Title: group +Text: + + Users and groups are identified by name or numeric ID. + + The following generic operations may be performed upon them: + + - list + - show + - edit + - create + + In addition, the following type-specific actions exist: + + - grant + - revoke + + Attributes: + + The following attributes can be used with "rt show" or "rt edit" + to retrieve or edit other information associated with users and + groups: + + rights Global rights granted to this user. + rights/ Queue rights for this user. + +-- + +Title: queue +Text: + + Queues are identified by name or numeric ID. + + Currently, they can be subjected to the following actions: + + - show + - edit + - create + +-- + +Title: subject +Text: + + Syntax: + + rt subject + + Change the subject of a ticket whose ticket id is given. + +-- + +Title: give +Text: + + Syntax: + + rt give + + Give a ticket whose ticket id is given to another user. + +-- + +Title: steal +Text: + + rt steal + + Steal a ticket whose ticket id is given, i.e. set the owner to myself. + +-- + +Title: take +Text: + + Syntax: + + rt take + + Take a ticket whose ticket id is given, i.e. set the owner to myself. + +-- + +Title: untake +Text: + + Syntax: + + rt untake + + Untake a ticket whose ticket id is given, i.e. set the owner to Nobody. + +-- + +Title: resolve +Title: res +Text: + + Syntax: + + rt resolve + + Resolves a ticket whose ticket id is given. + +-- + +Title: delete +Title: del +Text: + + Syntax: + + rt delete + + Deletes a ticket whose ticket id is given. + +-- + +Title: logout +Text: + + Syntax: + + rt logout + + Terminates the currently established login session. You will need to + provide authentication credentials before you can continue using the + server. (See "rt help config" for details about authentication.) + +-- + +Title: ls +Title: list +Title: search +Text: + + Syntax: + + rt [options] "query string" + + Displays a list of objects matching the specified conditions. + ("ls", "list", and "search" are synonyms.) + + Conditions are expressed in the SQL-like syntax used internally by + RT. (For more information, see "rt help query".) The query string + must be supplied as one argument. + + (Right now, the server doesn't support listing anything but tickets. + Other types will be supported in future; this client will be able to + take advantage of that support without any changes.) + + Options: + + The following options control how much information is displayed + about each matching object: + + -i Numeric IDs only. (Useful for |rt edit -; see examples.) + -s Short description. + -l Longer description. + -f Orders the returned list by the specified field. + -r reversed order (useful if a default was given) + -q queue[s] restricts the query to the queue[s] given + multiple queues are separated by comma + -S var=val Submits the specified variable with the request. + -t type Specifies the type of object to look for. (The + default is "ticket".) + + Examples: + + rt ls "Priority > 5 and Status=new" + rt ls -o +Subject "Priority > 5 and Status=new" + rt ls -o -Created "Priority > 5 and Status=new" + rt ls -i "Priority > 5"|rt edit - set status=resolved + rt ls -t ticket "Subject like '[PATCH]%'" + rt ls -q systems + rt ls -f owner,subject + +-- + +Title: show +Text: + + Syntax: + + rt show [options] + + Displays details of the specified objects. + + For some types, object information is further classified into named + attributes (for example, "1-3/links" is a valid ticket specification + that refers to the links for tickets 1-3). Consult "rt help " + and "rt help objects" for further details. + + If only a number is given it will be interpreted as the objects + ticket/number and ticket/number/history + + This command writes a set of forms representing the requested object + data to STDOUT. + + Options: + + The following options control how much information is displayed + about each matching object: + + Without any formatting options prettyprinted output is generated. + Giving any of the two options below reverts to raw output. + -s Short description (history and attachments only). + -l Longer description (history and attachments only). + + In addition, + - Read IDs from STDIN instead of the command-line. + -t type Specifies object type. + -f a,b,c Restrict the display to the specified fields. + -S var=val Submits the specified variable with the request. + + Examples: + + rt show -t ticket -f id,subject,status 1-3 + rt show ticket/3/attachments/29 + rt show ticket/3/attachments/29/content + rt show ticket/1-3/links + rt show ticket/3/history + rt show -l ticket/3/history + rt show -t user 2 + rt show 2 + +-- + +Title: new +Title: edit +Title: create +Text: + + Syntax: + + rt edit [options] set field=value [field=value] ... + add field=value [field=value] ... + del field=value [field=value] ... + + Edits information corresponding to the specified objects. + + A purely numeric object id nnn is translated into ticket/nnn + + If, instead of "edit", an action of "new" or "create" is specified, + then a new object is created. In this case, no numeric object IDs + may be specified, but the syntax and behaviour remain otherwise + unchanged. + + This command typically starts an editor to allow you to edit object + data in a form for submission. If you specified enough information + on the command-line, however, it will make the submission directly. + + The command line may specify field-values in three different ways. + "set" sets the named field to the given value, "add" adds a value + to a multi-valued field, and "del" deletes the corresponding value. + Each "field=value" specification must be given as a single argument. + + For some types, object information is further classified into named + attributes (for example, "1-3/links" is a valid ticket specification + that refers to the links for tickets 1-3). These attributes may also + be edited. Consult "rt help " and "rt help object" for further + details. + + Options: + + - Read numeric IDs from STDIN instead of the command-line. + (Useful with rt ls ... | rt edit -; see examples below.) + -i Read a completed form from STDIN before submitting. + -o Dump the completed form to STDOUT instead of submitting. + -e Allows you to edit the form even if the command-line has + enough information to make a submission directly. + -S var=val + Submits the specified variable with the request. + -t type Specifies object type. + + Examples: + + # Interactive (starts $EDITOR with a form). + rt edit ticket/3 + rt create -t ticket + + # Non-interactive. + rt edit ticket/1-3 add cc=foo@example.com set priority=3 due=tomorrow + rt ls -t tickets -i 'Priority > 5' | rt edit - set status=resolved + rt edit ticket/4 set priority=3 owner=bar@example.com \ + add cc=foo@example.com bcc=quux@example.net + rt create -t ticket set subject='new ticket' priority=10 \ + add cc=foo@example.com + +-- + +Title: comment +Title: correspond +Text: + + Syntax: + + rt [options] + + Adds a comment (or correspondence) to the specified ticket (the only + difference being that comments aren't sent to the requestors.) + + This command will typically start an editor and allow you to type a + comment into a form. If, however, you specified all the necessary + information on the command line, it submits the comment directly. + + (See "rt help forms" for more information about forms.) + + Options: + + -m Specify comment text. + -a Attach a file to the comment. (May be used more + than once to attach multiple files.) + -c A comma-separated list of Cc addresses. + -b A comma-separated list of Bcc addresses. + -w