2012年2月24日金曜日

Redmine 1.3.0! #13 RMagick

RMagickが使用可能(オプション) ×

…となっていたので,RMagick とやらをインストール。

$ apt-cache search rmagick
librmagick-ruby-doc - ImageMagick API for Ruby (documentation)
librmagick-ruby1.8 - ImageMagick API for Ruby 1.8
librmagick-ruby - ImageMagick API for Ruby
ruby-chunky-png - pure ruby library for read/write, chunk-level access to PNG files
ruby-rmagick - ImageMagick API for Ruby (documentation)
ruby-rmagick-doc - ImageMagick API for Ruby (documentation)

librmagick-ruby を入れておけばいいのかな?

$ sudo apt-get install librmagick-ruby -s
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の特別パッケージがインストールされます:
  dbus ghostscript gsfonts libavahi-client3 libavahi-common-data libavahi-common3
  libcups2 libcupsimage2 libdbus-1-3 libglib2.0-0 libglib2.0-data libgs8 libice6
  libjasper1 libjbig2dec0 libjpeg62 liblcms1 liblqr-1-0 libltdl7 libmagickcore3
  libpaper-utils libpaper1 libpng12-0 librmagick-ruby1.8 libsm6 libtiff4 libxt6
  shared-mime-info x11-common
提案パッケージ:
  dbus-x11 cups-common libjasper-runtime liblcms-utils libmagickcore3-extra
  librmagick-ruby-doc
以下のパッケージが新たにインストールされます:
  dbus ghostscript gsfonts libavahi-client3 libavahi-common-data libavahi-common3
  libcups2 libcupsimage2 libdbus-1-3 libglib2.0-0 libglib2.0-data libgs8 libice6
  libjasper1 libjbig2dec0 libjpeg62 liblcms1 liblqr-1-0 libltdl7 libmagickcore3
  libpaper-utils libpaper1 libpng12-0 librmagick-ruby librmagick-ruby1.8 libsm6 libtiff4
  libxt6 shared-mime-info x11-common
アップグレード: 0 個、新規インストール: 30 個、削除: 0 個、保留: 0 個。
Inst libdbus-1-3 (1.2.24-4+squeeze1 Debian:6.0.4/stable [amd64])
Inst dbus (1.2.24-4+squeeze1 Debian:6.0.4/stable [amd64])
Inst libavahi-common-data (0.6.27-2+squeeze1 Debian:6.0.4/stable, Debian-Security:6.0/stable [amd64])
Inst libavahi-common3 (0.6.27-2+squeeze1 Debian:6.0.4/stable, Debian-Security:6.0/stable [amd64])
Inst libavahi-client3 (0.6.27-2+squeeze1 Debian:6.0.4/stable, Debian-Security:6.0/stable [amd64])
Inst libcups2 (1.4.4-7+squeeze1 Debian:6.0.4/stable, Debian-Security:6.0/stable [amd64])
Inst libjpeg62 (6b1-1 Debian:6.0.4/stable [amd64])
Inst libpng12-0 (1.2.44-1+squeeze2 Debian-Security:6.0/stable [amd64])
Inst libtiff4 (3.9.4-5+squeeze3 Debian:6.0.4/stable, Debian-Security:6.0/stable [amd64])
Inst libcupsimage2 (1.4.4-7+squeeze1 Debian:6.0.4/stable, Debian-Security:6.0/stable [amd64])
Inst libjasper1 (1.900.1-7+squeeze1 Debian:6.0.4/stable, Debian-Security:6.0/stable [amd64])
Inst libjbig2dec0 (0.11-1 Debian:6.0.4/stable [amd64])
Inst libpaper1 (1.1.24 Debian:6.0.4/stable [amd64])
Inst libgs8 (8.71~dfsg2-9 Debian:6.0.4/stable [amd64])
Inst gsfonts (1:8.11+urwcyr1.0.7~pre44-4.2 Debian:6.0.4/stable, Debian:testing [all])
Inst ghostscript (8.71~dfsg2-9 Debian:6.0.4/stable [amd64])
Inst libglib2.0-0 (2.24.2-1 Debian:6.0.4/stable [amd64])
Inst libglib2.0-data (2.24.2-1 Debian:6.0.4/stable [all])
Inst x11-common (1:7.5+8+squeeze1 Debian:6.0.4/stable, Debian-Security:6.0/stable [all])
Inst libice6 (2:1.0.6-2 Debian:6.0.4/stable [amd64])
Inst liblcms1 (1.18.dfsg-1.2+b3 Debian:6.0.4/stable [amd64])
Inst liblqr-1-0 (0.4.1-1 Debian:6.0.4/stable [amd64])
Inst libltdl7 (2.2.6b-2 Debian:6.0.4/stable [amd64])
Inst libsm6 (2:1.1.1-1 Debian:6.0.4/stable [amd64])
Inst libxt6 (1:1.0.7-1 Debian:6.0.4/stable [amd64])
Inst libmagickcore3 (8:6.6.0.4-3 Debian:6.0.4/stable [amd64])
Inst libpaper-utils (1.1.24 Debian:6.0.4/stable [amd64])
Inst librmagick-ruby1.8 (2.13.1-2 Debian:6.0.4/stable [amd64])
Inst librmagick-ruby (2.13.1-2 Debian:6.0.4/stable [all])
Inst shared-mime-info (0.71-4 Debian:6.0.4/stable [amd64])
Conf libdbus-1-3 (1.2.24-4+squeeze1 Debian:6.0.4/stable [amd64])
Conf dbus (1.2.24-4+squeeze1 Debian:6.0.4/stable [amd64])
Conf libavahi-common-data (0.6.27-2+squeeze1 Debian:6.0.4/stable, Debian-Security:6.0/stable [amd64])
Conf libavahi-common3 (0.6.27-2+squeeze1 Debian:6.0.4/stable, Debian-Security:6.0/stable [amd64])
Conf libavahi-client3 (0.6.27-2+squeeze1 Debian:6.0.4/stable, Debian-Security:6.0/stable [amd64])
Conf libcups2 (1.4.4-7+squeeze1 Debian:6.0.4/stable, Debian-Security:6.0/stable [amd64])
Conf libjpeg62 (6b1-1 Debian:6.0.4/stable [amd64])
Conf libpng12-0 (1.2.44-1+squeeze2 Debian-Security:6.0/stable [amd64])
Conf libtiff4 (3.9.4-5+squeeze3 Debian:6.0.4/stable, Debian-Security:6.0/stable [amd64])
Conf libcupsimage2 (1.4.4-7+squeeze1 Debian:6.0.4/stable, Debian-Security:6.0/stable [amd64])
Conf libjasper1 (1.900.1-7+squeeze1 Debian:6.0.4/stable, Debian-Security:6.0/stable [amd64])
Conf libjbig2dec0 (0.11-1 Debian:6.0.4/stable [amd64])
Conf libpaper1 (1.1.24 Debian:6.0.4/stable [amd64])
Conf libgs8 (8.71~dfsg2-9 Debian:6.0.4/stable [amd64])
Conf gsfonts (1:8.11+urwcyr1.0.7~pre44-4.2 Debian:6.0.4/stable, Debian:testing [all])
Conf ghostscript (8.71~dfsg2-9 Debian:6.0.4/stable [amd64])
Conf libglib2.0-0 (2.24.2-1 Debian:6.0.4/stable [amd64])
Conf libglib2.0-data (2.24.2-1 Debian:6.0.4/stable [all])
Conf x11-common (1:7.5+8+squeeze1 Debian:6.0.4/stable, Debian-Security:6.0/stable [all])
Conf libice6 (2:1.0.6-2 Debian:6.0.4/stable [amd64])
Conf liblcms1 (1.18.dfsg-1.2+b3 Debian:6.0.4/stable [amd64])
Conf liblqr-1-0 (0.4.1-1 Debian:6.0.4/stable [amd64])
Conf libltdl7 (2.2.6b-2 Debian:6.0.4/stable [amd64])
Conf libsm6 (2:1.1.1-1 Debian:6.0.4/stable [amd64])
Conf libxt6 (1:1.0.7-1 Debian:6.0.4/stable [amd64])
Conf libmagickcore3 (8:6.6.0.4-3 Debian:6.0.4/stable [amd64])
Conf libpaper-utils (1.1.24 Debian:6.0.4/stable [amd64])
Conf librmagick-ruby1.8 (2.13.1-2 Debian:6.0.4/stable [amd64])
Conf librmagick-ruby (2.13.1-2 Debian:6.0.4/stable [all])
Conf shared-mime-info (0.71-4 Debian:6.0.4/stable [amd64])

なんだか大量にインストールされるみたい。だけれども,ごー!

あとは,Apache を再起動。

$ sudo /etc/init.d/apache2 restart
Restarting web server: apache2 ... waiting .

Redmine 1.3.0! #12 サイトの設定

あとは……

やることなくなってきたような気がするよ。

Apache の設定で,パターン2: サブディレクトリでRedmineを実行 でいきましょ。

/etc/apache2/sites-available/default をコピペしてちょこっと変える。

$ diff -u default redmine
--- default     2011-09-30 05:58:07.000000000 +0900
+++ redmine     2012-02-24 16:45:30.000000000 +0900
@@ -2,6 +2,7 @@
        ServerAdmin webmaster@localhost

        DocumentRoot /var/www
+       RailsBaseURI /redmine
        <Directory />
                Options FollowSymLinks
                AllowOverride None

サイトの有効化,無効化。

$ sudo a2ensite redmine
Enabling site redmine.
Run '/etc/init.d/apache2 reload' to activate new configuration!
$ sudo a2dissite default
Site default disabled.
Run '/etc/init.d/apache2 reload' to activate new configuration!
$ sudo /etc/init.d/apache2 restart
Restarting web server: apache2 ... waiting .

そして

あ,うごいてる……。じぶんがびっくりw

Redmine 1.3.0! #11 Passenger

いんすとーる

これに関しては簡単なはず。

まずは探してみるよ。

$ apt-cache search passenger --names-only
libapache2-mod-passenger - Rails and Rack support for Apache2
passenger-doc - Rails and Rac support for Apache2 - Documentation
puppetmaster-passenger - Centralised configuration management - master setup to run under mod passenger

インストール。

$ sudo apt-get install libapache2-mod-passenger -s
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の特別パッケージがインストールされます:
  javascript-common libjs-jquery libjs-prototype librack-ruby librack-ruby1.8
  wwwconfig-common
提案パッケージ:
  rails passenger-doc postgresql-client apache apache-ssl
以下のパッケージが新たにインストールされます:
  javascript-common libapache2-mod-passenger libjs-jquery libjs-prototype
  librack-ruby librack-ruby1.8 wwwconfig-common
アップグレード: 0 個、新規インストール: 7 個、削除: 0 個、保留: 0 個。
Inst wwwconfig-common (0.2.1 Debian:6.0.4/stable [all])
Inst javascript-common (7 Debian:6.0.4/stable, Debian:testing [all])
Inst librack-ruby1.8 (1.1.0-4 Debian:6.0.4/stable [all])
Inst libjs-jquery (1.4.2-2 Debian:6.0.4/stable [all])
Inst librack-ruby (1.1.0-4 Debian:6.0.4/stable [all])
Inst libjs-prototype (1.6.1-1 Debian:6.0.4/stable [all])
Inst libapache2-mod-passenger (2.2.11debian-2 Debian:6.0.4/stable, Debian:testing [amd64])
Conf wwwconfig-common (0.2.1 Debian:6.0.4/stable [all])
Conf javascript-common (7 Debian:6.0.4/stable, Debian:testing [all])
Conf librack-ruby1.8 (1.1.0-4 Debian:6.0.4/stable [all])
Conf libjs-jquery (1.4.2-2 Debian:6.0.4/stable [all])
Conf librack-ruby (1.1.0-4 Debian:6.0.4/stable [all])
Conf libjs-prototype (1.6.1-1 Debian:6.0.4/stable [all])
Conf libapache2-mod-passenger (2.2.11debian-2 Debian:6.0.4/stable, Debian:testing [amd64])

2012年2月21日火曜日

Redmine 1.3.0! #10 migration

まいぐれ~しょん!

さて…。

redmine$ sudo rake generate_session_store(in /var/local/lib/redmine-1.3.1)
redmine$ sudo rake db:migrate RAILS_ENV=production
(in /var/local/lib/redmine-1.3.1)
==  Setup: migrating ==========================================================
-- create_table("attachments", {:force=>true})
   -> 0.0067s
-- create_table("auth_sources", {:force=>true})
   -> 0.0048s
-- create_table("custom_fields", {:force=>true})
   -> 0.0045s
-- create_table("custom_fields_projects", {:force=>true, :id=>false})
   -> 0.0037s
-- create_table("custom_fields_trackers", {:force=>true, :id=>false})
   -> 0.0035s
-- create_table("custom_values", {:force=>true})
   -> 0.0041s
-- create_table("documents", {:force=>true})
   -> 0.0151s
-- add_index("documents", ["project_id"], {:name=>"documents_project_id"})
   -> 0.0076s
-- create_table("enumerations", {:force=>true})
   -> 0.0039s
-- create_table("issue_categories", {:force=>true})
   -> 0.0040s
-- add_index("issue_categories", ["project_id"], {:name=>"issue_categories_project_id"})
   -> 0.0076s
-- create_table("issue_histories", {:force=>true})
   -> 0.0040s
-- add_index("issue_histories", ["issue_id"], {:name=>"issue_histories_issue_id"})
   -> 0.0063s
-- create_table("issue_statuses", {:force=>true})
   -> 0.0042s
-- create_table("issues", {:force=>true})
   -> 0.0048s
-- add_index("issues", ["project_id"], {:name=>"issues_project_id"})
   -> 0.0071s
-- create_table("members", {:force=>true})
   -> 0.0044s
-- create_table("news", {:force=>true})
   -> 0.0042s
-- add_index("news", ["project_id"], {:name=>"news_project_id"})
   -> 0.0065s
-- create_table("permissions", {:force=>true})
   -> 0.0043s
-- create_table("permissions_roles", {:force=>true, :id=>false})
   -> 0.0034s
-- add_index("permissions_roles", ["role_id"], {:name=>"permissions_roles_role_id"})
   -> 0.0339s
-- create_table("projects", {:force=>true})
   -> 0.0045s
-- create_table("roles", {:force=>true})
   -> 0.0044s
-- create_table("tokens", {:force=>true})
   -> 0.0045s
-- create_table("trackers", {:force=>true})
   -> 0.0041s
-- create_table("users", {:force=>true})
   -> 0.0057s
-- create_table("versions", {:force=>true})
   -> 0.0203s
-- add_index("versions", ["project_id"], {:name=>"versions_project_id"})
   -> 0.0096s
-- create_table("workflows", {:force=>true})
   -> 0.0251s
==  Setup: migrated (0.3200s) =================================================

==  IssueMove: migrating ======================================================
==  IssueMove: migrated (0.0052s) =============================================

==  IssueAddNote: migrating ===================================================
==  IssueAddNote: migrated (0.0042s) ==========================================

==  ExportPdf: migrating ======================================================
==  ExportPdf: migrated (0.0066s) =============================================

==  IssueStartDate: migrating =================================================
-- add_column(:issues, :start_date, :date)
   -> 0.0074s
-- add_column(:issues, :done_ratio, :integer, {:null=>false, :default=>0})
   -> 0.2914s
==  IssueStartDate: migrated (0.2992s) ========================================

==  CalendarAndActivity: migrating ============================================
==  CalendarAndActivity: migrated (0.0086s) ===================================

==  CreateJournals: migrating =================================================
-- create_table(:journals, {:force=>true})
   -> 0.0209s
-- create_table(:journal_details, {:force=>true})
   -> 0.0038s
-- add_index("journals", ["journalized_id", "journalized_type"], {:name=>"journals_journalized_id"})
   -> 0.0057s
-- add_index("journal_details", ["journal_id"], {:name=>"journal_details_journal_id"})
   -> 0.0067s
-- drop_table(:issue_histories)
   -> 0.0022s
==  CreateJournals: migrated (0.0467s) ========================================

==  CreateUserPreferences: migrating ==========================================
-- create_table(:user_preferences)
   -> 0.0036s
==  CreateUserPreferences: migrated (0.0039s) =================================

==  AddHideMailPref: migrating ================================================
-- add_column(:user_preferences, :hide_mail, :boolean, {:default=>false})
   -> 0.0056s
==  AddHideMailPref: migrated (0.0058s) =======================================

==  CreateComments: migrating =================================================
-- create_table(:comments)
   -> 0.0895s
==  CreateComments: migrated (0.0916s) ========================================

==  AddNewsCommentsCount: migrating ===========================================
-- add_column(:news, :comments_count, :integer, {:null=>false, :default=>0})
   -> 0.0060s
==  AddNewsCommentsCount: migrated (0.0062s) ==================================

==  AddCommentsPermissions: migrating =========================================
==  AddCommentsPermissions: migrated (0.0072s) ================================

==  CreateQueries: migrating ==================================================
-- create_table(:queries, {:force=>true})
   -> 0.0051s
==  CreateQueries: migrated (0.0053s) =========================================

==  AddQueriesPermissions: migrating ==========================================
==  AddQueriesPermissions: migrated (0.0066s) =================================

==  CreateRepositories: migrating =============================================
-- create_table(:repositories, {:force=>true})
   -> 0.0048s
==  CreateRepositories: migrated (0.0049s) ====================================

==  AddRepositoriesPermissions: migrating =====================================
==  AddRepositoriesPermissions: migrated (0.0166s) ============================

==  CreateSettings: migrating =================================================
-- create_table(:settings, {:force=>true})
   -> 0.0044s
==  CreateSettings: migrated (0.0046s) ========================================

==  SetDocAndFilesNotifications: migrating ====================================
==  SetDocAndFilesNotifications: migrated (0.0130s) ===========================

==  AddIssueStatusPosition: migrating =========================================
-- add_column(:issue_statuses, :position, :integer, {:default=>1})
   -> 0.0059s
==  AddIssueStatusPosition: migrated (0.0066s) ================================

==  AddRolePosition: migrating ================================================
-- add_column(:roles, :position, :integer, {:default=>1})
   -> 0.0063s
==  AddRolePosition: migrated (0.0181s) =======================================

==  AddTrackerPosition: migrating =============================================
-- add_column(:trackers, :position, :integer, {:default=>1})
   -> 0.0053s
==  AddTrackerPosition: migrated (0.0063s) ====================================

==  SerializePossiblesValues: migrating =======================================
==  SerializePossiblesValues: migrated (0.0006s) ==============================

==  AddTrackerIsInRoadmap: migrating ==========================================
-- add_column(:trackers, :is_in_roadmap, :boolean, {:null=>false, :default=>true})
   -> 0.0069s
==  AddTrackerIsInRoadmap: migrated (0.0071s) =================================

==  AddRoadmapPermission: migrating ===========================================
==  AddRoadmapPermission: migrated (0.0064s) ==================================

==  AddSearchPermission: migrating ============================================
==  AddSearchPermission: migrated (0.0059s) ===================================

==  AddRepositoryLoginAndPassword: migrating ==================================
-- add_column(:repositories, :login, :string, {:limit=>60, :default=>""})
   -> 0.0056s
-- add_column(:repositories, :password, :string, {:limit=>60, :default=>""})
   -> 0.0054s
==  AddRepositoryLoginAndPassword: migrated (0.0114s) =========================

==  CreateWikis: migrating ====================================================
-- create_table(:wikis)
   -> 0.0039s
-- add_index(:wikis, :project_id, {:name=>:wikis_project_id})
   -> 0.0072s
==  CreateWikis: migrated (0.0115s) ===========================================

==  CreateWikiPages: migrating ================================================
-- create_table(:wiki_pages)
   -> 0.0040s
-- add_index(:wiki_pages, [:wiki_id, :title], {:name=>:wiki_pages_wiki_id_title})
   -> 0.0064s
==  CreateWikiPages: migrated (0.0108s) =======================================

==  CreateWikiContents: migrating =============================================
-- create_table(:wiki_contents)
   -> 0.0035s
-- add_index(:wiki_contents, :page_id, {:name=>:wiki_contents_page_id})
   -> 0.0062s
-- create_table(:wiki_content_versions)
   -> 0.0051s
-- add_index(:wiki_content_versions, :wiki_content_id, {:name=>:wiki_content_versions_wcid})
   -> 0.0066s
==  CreateWikiContents: migrated (0.0220s) ====================================

==  AddProjectsFeedsPermissions: migrating ====================================
==  AddProjectsFeedsPermissions: migrated (0.0053s) ===========================

==  AddRepositoryRootUrl: migrating ===========================================
-- add_column(:repositories, :root_url, :string, {:limit=>255, :default=>""})
   -> 0.0183s
==  AddRepositoryRootUrl: migrated (0.0185s) ==================================

==  CreateTimeEntries: migrating ==============================================
-- create_table(:time_entries)
   -> 0.0043s
-- add_index(:time_entries, [:project_id], {:name=>:time_entries_project_id})
   -> 0.0072s
-- add_index(:time_entries, [:issue_id], {:name=>:time_entries_issue_id})
   -> 0.0077s
==  CreateTimeEntries: migrated (0.0197s) =====================================

==  AddTimelogPermissions: migrating ==========================================
==  AddTimelogPermissions: migrated (0.0054s) =================================

==  CreateChangesets: migrating ===============================================
-- create_table(:changesets)
   -> 0.0035s
-- add_index(:changesets, [:repository_id, :revision], {:unique=>true, :name=>:changesets_repos_rev})
   -> 0.0056s
==  CreateChangesets: migrated (0.0095s) ======================================

==  CreateChanges: migrating ==================================================
-- create_table(:changes)
   -> 0.0041s
-- add_index(:changes, [:changeset_id], {:name=>:changesets_changeset_id})
   -> 0.0085s
==  CreateChanges: migrated (0.0130s) =========================================

==  AddChangesetCommitDate: migrating =========================================
-- add_column(:changesets, :commit_date, :date)
   -> 0.0054s
==  AddChangesetCommitDate: migrated (0.0060s) ================================

==  AddProjectIdentifier: migrating ===========================================
-- add_column(:projects, :identifier, :string, {:limit=>20})
   -> 0.0055s
==  AddProjectIdentifier: migrated (0.0057s) ==================================

==  AddCustomFieldIsFilter: migrating =========================================
-- add_column(:custom_fields, :is_filter, :boolean, {:null=>false, :default=>false})
   -> 0.0053s
==  AddCustomFieldIsFilter: migrated (0.0056s) ================================

==  CreateWatchers: migrating =================================================
-- create_table(:watchers)
   -> 0.0032s
==  CreateWatchers: migrated (0.0034s) ========================================

==  CreateChangesetsIssues: migrating =========================================
-- create_table(:changesets_issues, {:id=>false})
   -> 0.0029s
-- add_index(:changesets_issues, [:changeset_id, :issue_id], {:unique=>true, :name=>:changesets_issues_ids})
   -> 0.0060s
==  CreateChangesetsIssues: migrated (0.0092s) ================================

==  RenameCommentToComments: migrating ========================================
==  RenameCommentToComments: migrated (0.0231s) ===============================

==  CreateIssueRelations: migrating ===========================================
-- create_table(:issue_relations)
   -> 0.0036s
==  CreateIssueRelations: migrated (0.0038s) ==================================

==  AddRelationsPermissions: migrating ========================================
==  AddRelationsPermissions: migrated (0.0063s) ===============================

==  SetLanguageLengthToFive: migrating ========================================
-- change_column(:users, :language, :string, {:limit=>5, :default=>""})
   -> 0.0076s
==  SetLanguageLengthToFive: migrated (0.0077s) ===============================

==  CreateBoards: migrating ===================================================
-- create_table(:boards)
   -> 0.0036s
-- add_index(:boards, [:project_id], {:name=>:boards_project_id})
   -> 0.0065s
==  CreateBoards: migrated (0.0104s) ==========================================

==  CreateMessages: migrating =================================================
-- create_table(:messages)
   -> 0.0039s
-- add_index(:messages, [:board_id], {:name=>:messages_board_id})
   -> 0.0075s
-- add_index(:messages, [:parent_id], {:name=>:messages_parent_id})
   -> 0.0059s
==  CreateMessages: migrated (0.0177s) ========================================

==  AddBoardsPermissions: migrating ===========================================
==  AddBoardsPermissions: migrated (0.0093s) ==================================

==  AllowNullVersionEffectiveDate: migrating ==================================
-- change_column(:versions, :effective_date, :date, {:null=>true, :default=>nil})
   -> 0.0035s
==  AllowNullVersionEffectiveDate: migrated (0.0036s) =========================

==  AddWikiDestroyPagePermission: migrating ===================================
==  AddWikiDestroyPagePermission: migrated (0.0043s) ==========================

==  AddWikiAttachmentsPermissions: migrating ==================================
==  AddWikiAttachmentsPermissions: migrated (0.0071s) =========================

==  AddProjectStatus: migrating ===============================================
-- add_column(:projects, :status, :integer, {:null=>false, :default=>1})
   -> 0.0049s
==  AddProjectStatus: migrated (0.0051s) ======================================

==  AddChangesRevision: migrating =============================================
-- add_column(:changes, :revision, :string)
   -> 0.0117s
==  AddChangesRevision: migrated (0.0119s) ====================================

==  AddChangesBranch: migrating ===============================================
-- add_column(:changes, :branch, :string)
   -> 0.0104s
==  AddChangesBranch: migrated (0.0106s) ======================================

==  AddChangesetsScmid: migrating =============================================
-- add_column(:changesets, :scmid, :string)
   -> 0.0129s
==  AddChangesetsScmid: migrated (0.0130s) ====================================

==  AddRepositoriesType: migrating ============================================
-- add_column(:repositories, :type, :string)
   -> 0.0097s
==  AddRepositoriesType: migrated (0.0102s) ===================================

==  AddRepositoriesChangesPermission: migrating ===============================
==  AddRepositoriesChangesPermission: migrated (0.0222s) ======================

==  AddVersionsWikiPageTitle: migrating =======================================
-- add_column(:versions, :wiki_page_title, :string)
   -> 0.0054s
==  AddVersionsWikiPageTitle: migrated (0.0056s) ==============================

==  AddIssueCategoriesAssignedToId: migrating =================================
-- add_column(:issue_categories, :assigned_to_id, :integer)
   -> 0.0071s
==  AddIssueCategoriesAssignedToId: migrated (0.0072s) ========================

==  AddRolesAssignable: migrating =============================================
-- add_column(:roles, :assignable, :boolean, {:default=>true})
   -> 0.0141s
==  AddRolesAssignable: migrated (0.0143s) ====================================

==  ChangeChangesetsCommitterLimit: migrating =================================
-- change_column(:changesets, :committer, :string, {:limit=>nil})
   -> 0.0067s
==  ChangeChangesetsCommitterLimit: migrated (0.0068s) ========================

==  AddRolesBuiltin: migrating ================================================
-- add_column(:roles, :builtin, :integer, {:null=>false, :default=>0})
   -> 0.0050s
==  AddRolesBuiltin: migrated (0.0051s) =======================================

==  InsertBuiltinRoles: migrating =============================================
==  InsertBuiltinRoles: migrated (0.0361s) ====================================

==  AddRolesPermissions: migrating ============================================
-- add_column(:roles, :permissions, :text)
   -> 0.0113s
==  AddRolesPermissions: migrated (0.0115s) ===================================

==  DropPermissions: migrating ================================================
-- drop_table(:permissions)
   -> 0.0058s
-- drop_table(:permissions_roles)
   -> 0.0009s
==  DropPermissions: migrated (0.0070s) =======================================

==  AddSettingsUpdatedOn: migrating ===========================================
-- add_column(:settings, :updated_on, :timestamp)
   -> 0.0121s
==  AddSettingsUpdatedOn: migrated (0.0406s) ==================================

==  AddCustomValueCustomizedIndex: migrating ==================================
-- add_index(:custom_values, [:customized_type, :customized_id], {:name=>:custom_values_customized})
   -> 0.0060s
==  AddCustomValueCustomizedIndex: migrated (0.0061s) =========================

==  CreateWikiRedirects: migrating ============================================
-- create_table(:wiki_redirects)
   -> 0.4907s
-- add_index(:wiki_redirects, [:wiki_id, :title], {:name=>:wiki_redirects_wiki_id_title})
   -> 0.0062s
==  CreateWikiRedirects: migrated (0.4995s) ===================================

==  CreateEnabledModules: migrating ===========================================
-- create_table(:enabled_modules)
   -> 0.0033s
-- add_index(:enabled_modules, [:project_id], {:name=>:enabled_modules_project_id})
   -> 0.0061s
==  CreateEnabledModules: migrated (0.0104s) ==================================

==  AddIssuesEstimatedHours: migrating ========================================
-- add_column(:issues, :estimated_hours, :float)
   -> 0.0062s
==  AddIssuesEstimatedHours: migrated (0.0063s) ===============================

==  ChangeAttachmentsContentTypeLimit: migrating ==============================
-- change_column(:attachments, :content_type, :string, {:limit=>nil})
   -> 0.0065s
==  ChangeAttachmentsContentTypeLimit: migrated (0.0066s) =====================

==  AddQueriesColumnNames: migrating ==========================================
-- add_column(:queries, :column_names, :text)
   -> 0.0105s
==  AddQueriesColumnNames: migrated (0.0107s) =================================

==  AddEnumerationsPosition: migrating ========================================
-- add_column(:enumerations, :position, :integer, {:default=>1})
   -> 0.0105s
==  AddEnumerationsPosition: migrated (0.0291s) ===============================

==  AddEnumerationsIsDefault: migrating =======================================
-- add_column(:enumerations, :is_default, :boolean, {:null=>false, :default=>false})
   -> 0.0058s
==  AddEnumerationsIsDefault: migrated (0.0060s) ==============================

==  AddAuthSourcesTls: migrating ==============================================
-- add_column(:auth_sources, :tls, :boolean, {:null=>false, :default=>false})
   -> 0.0062s
==  AddAuthSourcesTls: migrated (0.0064s) =====================================

==  AddMembersMailNotification: migrating =====================================
-- add_column(:members, :mail_notification, :boolean, {:null=>false, :default=>false})
   -> 0.0049s
==  AddMembersMailNotification: migrated (0.0051s) ============================

==  AllowNullPosition: migrating ==============================================
-- change_column(:issue_statuses, :position, :integer, {:null=>true, :default=>1})
   -> 0.0037s
-- change_column(:roles, :position, :integer, {:null=>true, :default=>1})
   -> 0.0033s
-- change_column(:trackers, :position, :integer, {:null=>true, :default=>1})
   -> 0.0031s
-- change_column(:boards, :position, :integer, {:null=>true, :default=>1})
   -> 0.0043s
-- change_column(:enumerations, :position, :integer, {:null=>true, :default=>1})
   -> 0.0029s
==  AllowNullPosition: migrated (0.0182s) =====================================

==  RemoveIssueStatusesHtmlColor: migrating ===================================
-- remove_column(:issue_statuses, :html_color)
   -> 0.0119s
==  RemoveIssueStatusesHtmlColor: migrated (0.0121s) ==========================

==  AddCustomFieldsPosition: migrating ========================================
-- add_column(:custom_fields, :position, :integer, {:default=>1})
   -> 0.0128s
==  AddCustomFieldsPosition: migrated (0.0135s) ===============================

==  AddUserPreferencesTimeZone: migrating =====================================
-- add_column(:user_preferences, :time_zone, :string)
   -> 0.0129s
==  AddUserPreferencesTimeZone: migrated (0.0131s) ============================

==  AddUsersType: migrating ===================================================
-- add_column(:users, :type, :string)
   -> 0.0149s
==  AddUsersType: migrated (0.0177s) ==========================================

==  CreateProjectsTrackers: migrating =========================================
-- create_table(:projects_trackers, {:id=>false})
   -> 0.0043s
-- add_index(:projects_trackers, :project_id, {:name=>:projects_trackers_project_id})
   -> 0.0060s
==  CreateProjectsTrackers: migrated (0.0115s) ================================

==  AddMessagesLocked: migrating ==============================================
-- add_column(:messages, :locked, :boolean, {:default=>false})
   -> 0.0061s
==  AddMessagesLocked: migrated (0.0063s) =====================================

==  AddMessagesSticky: migrating ==============================================
-- add_column(:messages, :sticky, :integer, {:default=>0})
   -> 0.0061s
==  AddMessagesSticky: migrated (0.0063s) =====================================

==  ChangeAuthSourcesAccountLimit: migrating ==================================
-- change_column(:auth_sources, :account, :string, {:limit=>nil})
   -> 0.0155s
==  ChangeAuthSourcesAccountLimit: migrated (0.0156s) =========================

==  AddRoleTrackerOldStatusIndexToWorkflows: migrating ========================
-- add_index(:workflows, [:role_id, :tracker_id, :old_status_id], {:name=>:wkfs_role_tracker_old_status})
   -> 0.0065s
==  AddRoleTrackerOldStatusIndexToWorkflows: migrated (0.0067s) ===============

==  AddCustomFieldsSearchable: migrating ======================================
-- add_column(:custom_fields, :searchable, :boolean, {:default=>false})
   -> 0.0053s
==  AddCustomFieldsSearchable: migrated (0.0055s) =============================

==  ChangeProjectsDescriptionToText: migrating ================================
-- change_column(:projects, :description, :text, {:null=>true, :default=>nil})
   -> 0.0126s
==  ChangeProjectsDescriptionToText: migrated (0.0128s) =======================

==  AddCustomFieldsDefaultValue: migrating ====================================
-- add_column(:custom_fields, :default_value, :text)
   -> 0.0110s
==  AddCustomFieldsDefaultValue: migrated (0.0112s) ===========================

==  AddAttachmentsDescription: migrating ======================================
-- add_column(:attachments, :description, :string)
   -> 0.0054s
==  AddAttachmentsDescription: migrated (0.0056s) =============================

==  ChangeVersionsNameLimit: migrating ========================================
-- change_column(:versions, :name, :string, {:limit=>nil})
   -> 0.0124s
==  ChangeVersionsNameLimit: migrated (0.0126s) ===============================

==  ChangeChangesetsRevisionToString: migrating ===============================
-- change_column(:changesets, :revision, :string, {:null=>false})
   -> 0.0077s
==  ChangeChangesetsRevisionToString: migrated (0.0078s) ======================

==  ChangeChangesFromRevisionToString: migrating ==============================
-- change_column(:changes, :from_revision, :string)
   -> 0.0071s
==  ChangeChangesFromRevisionToString: migrated (0.0073s) =====================

==  AddWikiPagesProtected: migrating ==========================================
-- add_column(:wiki_pages, :protected, :boolean, {:null=>false, :default=>false})
   -> 0.0109s
==  AddWikiPagesProtected: migrated (0.0111s) =================================

==  ChangeProjectsHomepageLimit: migrating ====================================
-- change_column(:projects, :homepage, :string, {:limit=>nil, :default=>""})
   -> 0.0065s
==  ChangeProjectsHomepageLimit: migrated (0.0067s) ===========================

==  AddWikiPagesParentId: migrating ===========================================
-- add_column(:wiki_pages, :parent_id, :integer, {:default=>nil})
   -> 0.0128s
==  AddWikiPagesParentId: migrated (0.0130s) ==================================

==  AddCommitAccessPermission: migrating ======================================
==  AddCommitAccessPermission: migrated (0.0005s) =============================

==  AddViewWikiEditsPermission: migrating =====================================
==  AddViewWikiEditsPermission: migrated (0.0003s) ============================

==  SetTopicAuthorsAsWatchers: migrating ======================================
==  SetTopicAuthorsAsWatchers: migrated (0.0128s) =============================

==  AddDeleteWikiPagesAttachmentsPermission: migrating ========================
==  AddDeleteWikiPagesAttachmentsPermission: migrated (0.0004s) ===============

==  AddChangesetsUserId: migrating ============================================
-- add_column(:changesets, :user_id, :integer, {:default=>nil})
   -> 0.0059s
==  AddChangesetsUserId: migrated (0.0060s) ===================================

==  PopulateChangesetsUserId: migrating =======================================
==  PopulateChangesetsUserId: migrated (0.0005s) ==============================

==  AddCustomFieldsEditable: migrating ========================================
-- add_column(:custom_fields, :editable, :boolean, {:default=>true})
   -> 0.0133s
==  AddCustomFieldsEditable: migrated (0.0135s) ===============================

==  SetCustomFieldsEditable: migrating ========================================
==  SetCustomFieldsEditable: migrated (0.0034s) ===============================

==  AddProjectsLftAndRgt: migrating ===========================================
-- add_column(:projects, :lft, :integer)
   -> 0.0054s
-- add_column(:projects, :rgt, :integer)
   -> 0.0049s
==  AddProjectsLftAndRgt: migrated (0.0106s) ==================================

==  BuildProjectsTree: migrating ==============================================
==  BuildProjectsTree: migrated (0.0170s) =====================================

==  RemoveProjectsProjectsCount: migrating ====================================
-- remove_column(:projects, :projects_count)
   -> 0.0057s
==  RemoveProjectsProjectsCount: migrated (0.0058s) ===========================

==  AddOpenIdAuthenticationTables: migrating ==================================
-- create_table(:open_id_authentication_associations, {:force=>true})
   -> 0.0047s
-- create_table(:open_id_authentication_nonces, {:force=>true})
   -> 0.0258s
==  AddOpenIdAuthenticationTables: migrated (0.0308s) =========================

==  AddIdentityUrlToUsers: migrating ==========================================
-- add_column(:users, :identity_url, :string)
   -> 0.0056s
==  AddIdentityUrlToUsers: migrated (0.0057s) =================================

==  AddWatchersUserIdTypeIndex: migrating =====================================
-- add_index(:watchers, [:user_id, :watchable_type], {:name=>:watchers_user_id_type})
   -> 0.0060s
==  AddWatchersUserIdTypeIndex: migrated (0.0062s) ============================

==  AddQueriesSortCriteria: migrating =========================================
-- add_column(:queries, :sort_criteria, :text)
   -> 0.0125s
==  AddQueriesSortCriteria: migrated (0.0127s) ================================

==  AddProjectsTrackersUniqueIndex: migrating =================================
-- add_index(:projects_trackers, [:project_id, :tracker_id], {:unique=>true, :name=>:projects_trackers_unique})
   -> 0.0112s
==  AddProjectsTrackersUniqueIndex: migrated (0.0120s) ========================

==  ExtendSettingsName: migrating =============================================
-- change_column(:settings, :name, :string, {:null=>false, :limit=>255, :default=>""})
   -> 0.0105s
==  ExtendSettingsName: migrated (0.0107s) ====================================

==  AddTypeToEnumerations: migrating ==========================================
-- add_column(:enumerations, :type, :string)
   -> 0.0098s
==  AddTypeToEnumerations: migrated (0.0099s) =================================

==  UpdateEnumerationsToSti: migrating ========================================
==  UpdateEnumerationsToSti: migrated (0.0008s) ===============================

==  AddActiveFieldToEnumerations: migrating ===================================
-- add_column(:enumerations, :active, :boolean, {:null=>false, :default=>true})
   -> 0.0110s
==  AddActiveFieldToEnumerations: migrated (0.0112s) ==========================

==  AddProjectToEnumerations: migrating =======================================
-- add_column(:enumerations, :project_id, :integer, {:null=>true, :default=>nil})
   -> 0.0112s
-- add_index(:enumerations, :project_id)
   -> 0.0064s
==  AddProjectToEnumerations: migrated (0.0179s) ==============================

==  AddParentIdToEnumerations: migrating ======================================
-- add_column(:enumerations, :parent_id, :integer, {:null=>true, :default=>nil})
   -> 0.0055s
==  AddParentIdToEnumerations: migrated (0.0057s) =============================

==  AddQueriesGroupBy: migrating ==============================================
-- add_column(:queries, :group_by, :string)
   -> 0.0049s
==  AddQueriesGroupBy: migrated (0.0051s) =====================================

==  CreateMemberRoles: migrating ==============================================
-- create_table(:member_roles)
   -> 0.0095s
==  CreateMemberRoles: migrated (0.0097s) =====================================

==  PopulateMemberRoles: migrating ============================================
==  PopulateMemberRoles: migrated (0.0066s) ===================================

==  DropMembersRoleId: migrating ==============================================
-- remove_column(:members, :role_id)
   -> 0.0057s
==  DropMembersRoleId: migrated (0.0059s) =====================================

==  FixMessagesStickyNull: migrating ==========================================
==  FixMessagesStickyNull: migrated (0.0005s) =================================

==  PopulateUsersType: migrating ==============================================
==  PopulateUsersType: migrated (0.0015s) =====================================

==  CreateGroupsUsers: migrating ==============================================
-- create_table(:groups_users, {:id=>false})
   -> 0.0079s
-- add_index(:groups_users, [:group_id, :user_id], {:unique=>true, :name=>:groups_users_ids})
   -> 0.0056s
==  CreateGroupsUsers: migrated (0.0138s) =====================================

==  AddMemberRolesInheritedFrom: migrating ====================================
-- add_column(:member_roles, :inherited_from, :integer)
   -> 0.0116s
==  AddMemberRolesInheritedFrom: migrated (0.0118s) ===========================

==  FixUsersCustomValues: migrating ===========================================
==  FixUsersCustomValues: migrated (0.0033s) ==================================

==  AddMissingIndexesToWorkflows: migrating ===================================
-- add_index(:workflows, :old_status_id)
   -> 0.0057s
-- add_index(:workflows, :role_id)
   -> 0.0059s
-- add_index(:workflows, :new_status_id)
   -> 0.0068s
==  AddMissingIndexesToWorkflows: migrated (0.0188s) ==========================

==  AddMissingIndexesToCustomFieldsProjects: migrating ========================
-- add_index(:custom_fields_projects, [:custom_field_id, :project_id])
   -> 0.0058s
==  AddMissingIndexesToCustomFieldsProjects: migrated (0.0060s) ===============

==  AddMissingIndexesToMessages: migrating ====================================
-- add_index(:messages, :last_reply_id)
   -> 0.0058s
-- add_index(:messages, :author_id)
   -> 0.0062s
==  AddMissingIndexesToMessages: migrated (0.0123s) ===========================

==  AddMissingIndexesToRepositories: migrating ================================
-- add_index(:repositories, :project_id)
   -> 0.0055s
==  AddMissingIndexesToRepositories: migrated (0.0057s) =======================

==  AddMissingIndexesToComments: migrating ====================================
-- add_index(:comments, [:commented_id, :commented_type])
   -> 0.0060s
-- add_index(:comments, :author_id)
   -> 0.0057s
==  AddMissingIndexesToComments: migrated (0.0120s) ===========================

==  AddMissingIndexesToEnumerations: migrating ================================
-- add_index(:enumerations, [:id, :type])
   -> 0.0107s
==  AddMissingIndexesToEnumerations: migrated (0.0109s) =======================

==  AddMissingIndexesToWikiPages: migrating ===================================
-- add_index(:wiki_pages, :wiki_id)
   -> 0.0168s
-- add_index(:wiki_pages, :parent_id)
   -> 0.0061s
==  AddMissingIndexesToWikiPages: migrated (0.0233s) ==========================

==  AddMissingIndexesToWatchers: migrating ====================================
-- add_index(:watchers, :user_id)
   -> 0.0056s
-- add_index(:watchers, [:watchable_id, :watchable_type])
   -> 0.0068s
==  AddMissingIndexesToWatchers: migrated (0.0127s) ===========================

==  AddMissingIndexesToAuthSources: migrating =================================
-- add_index(:auth_sources, [:id, :type])
   -> 0.0059s
==  AddMissingIndexesToAuthSources: migrated (0.0061s) ========================

==  AddMissingIndexesToDocuments: migrating ===================================
-- add_index(:documents, :category_id)
   -> 0.0168s
==  AddMissingIndexesToDocuments: migrated (0.0169s) ==========================

==  AddMissingIndexesToTokens: migrating ======================================
-- add_index(:tokens, :user_id)
   -> 0.0068s
==  AddMissingIndexesToTokens: migrated (0.0070s) =============================

==  AddMissingIndexesToChangesets: migrating ==================================
-- add_index(:changesets, :user_id)
   -> 0.0057s
-- add_index(:changesets, :repository_id)
   -> 0.0060s
==  AddMissingIndexesToChangesets: migrated (0.0120s) =========================

==  AddMissingIndexesToIssueCategories: migrating =============================
-- add_index(:issue_categories, :assigned_to_id)
   -> 0.0060s
==  AddMissingIndexesToIssueCategories: migrated (0.0062s) ====================

==  AddMissingIndexesToMemberRoles: migrating =================================
-- add_index(:member_roles, :member_id)
   -> 0.0049s
-- add_index(:member_roles, :role_id)
   -> 0.0056s
==  AddMissingIndexesToMemberRoles: migrated (0.0108s) ========================

==  AddMissingIndexesToBoards: migrating ======================================
-- add_index(:boards, :last_message_id)
   -> 0.0055s
==  AddMissingIndexesToBoards: migrated (0.0057s) =============================

==  AddMissingIndexesToUserPreferences: migrating =============================
-- add_index(:user_preferences, :user_id)
   -> 0.0124s
==  AddMissingIndexesToUserPreferences: migrated (0.0125s) ====================

==  AddMissingIndexesToIssues: migrating ======================================
-- add_index(:issues, :status_id)
   -> 0.0106s
-- add_index(:issues, :category_id)
   -> 0.0240s
-- add_index(:issues, :assigned_to_id)
   -> 0.0073s
-- add_index(:issues, :fixed_version_id)
   -> 0.0066s
-- add_index(:issues, :tracker_id)
   -> 0.0070s
-- add_index(:issues, :priority_id)
   -> 0.0083s
-- add_index(:issues, :author_id)
   -> 0.0084s
==  AddMissingIndexesToIssues: migrated (0.0732s) =============================

==  AddMissingIndexesToMembers: migrating =====================================
-- add_index(:members, :user_id)
   -> 0.0053s
-- add_index(:members, :project_id)
   -> 0.0059s
==  AddMissingIndexesToMembers: migrated (0.0116s) ============================

==  AddMissingIndexesToCustomFields: migrating ================================
-- add_index(:custom_fields, [:id, :type])
   -> 0.0060s
==  AddMissingIndexesToCustomFields: migrated (0.0062s) =======================

==  AddMissingIndexesToQueries: migrating =====================================
-- add_index(:queries, :project_id)
   -> 0.0057s
-- add_index(:queries, :user_id)
   -> 0.0079s
==  AddMissingIndexesToQueries: migrated (0.0138s) ============================

==  AddMissingIndexesToTimeEntries: migrating =================================
-- add_index(:time_entries, :activity_id)
   -> 0.0061s
-- add_index(:time_entries, :user_id)
   -> 0.0067s
==  AddMissingIndexesToTimeEntries: migrated (0.0130s) ========================

==  AddMissingIndexesToNews: migrating ========================================
-- add_index(:news, :author_id)
   -> 0.0060s
==  AddMissingIndexesToNews: migrated (0.0062s) ===============================

==  AddMissingIndexesToUsers: migrating =======================================
-- add_index(:users, [:id, :type])
   -> 0.0064s
-- add_index(:users, :auth_source_id)
   -> 0.0065s
==  AddMissingIndexesToUsers: migrated (0.0132s) ==============================

==  AddMissingIndexesToAttachments: migrating =================================
-- add_index(:attachments, [:container_id, :container_type])
   -> 0.0057s
-- add_index(:attachments, :author_id)
   -> 0.0058s
==  AddMissingIndexesToAttachments: migrated (0.0118s) ========================

==  AddMissingIndexesToWikiContents: migrating ================================
-- add_index(:wiki_contents, :author_id)
   -> 0.0062s
==  AddMissingIndexesToWikiContents: migrated (0.0064s) =======================

==  AddMissingIndexesToCustomValues: migrating ================================
-- add_index(:custom_values, :custom_field_id)
   -> 0.0059s
==  AddMissingIndexesToCustomValues: migrated (0.0061s) =======================

==  AddMissingIndexesToJournals: migrating ====================================
-- add_index(:journals, :user_id)
   -> 0.0062s
-- add_index(:journals, :journalized_id)
   -> 0.0070s
==  AddMissingIndexesToJournals: migrated (0.0135s) ===========================

==  AddMissingIndexesToIssueRelations: migrating ==============================
-- add_index(:issue_relations, :issue_from_id)
   -> 0.0053s
-- add_index(:issue_relations, :issue_to_id)
   -> 0.0055s
==  AddMissingIndexesToIssueRelations: migrated (0.0111s) =====================

==  AddMissingIndexesToWikiRedirects: migrating ===============================
-- add_index(:wiki_redirects, :wiki_id)
   -> 0.0061s
==  AddMissingIndexesToWikiRedirects: migrated (0.0063s) ======================

==  AddMissingIndexesToCustomFieldsTrackers: migrating ========================
-- add_index(:custom_fields_trackers, [:custom_field_id, :tracker_id])
   -> 0.0085s
==  AddMissingIndexesToCustomFieldsTrackers: migrated (0.0087s) ===============

==  AddActivityIndexes: migrating =============================================
-- add_index(:journals, :created_on)
   -> 0.0069s
-- add_index(:changesets, :committed_on)
   -> 0.0067s
-- add_index(:wiki_content_versions, :updated_on)
   -> 0.0068s
-- add_index(:messages, :created_on)
   -> 0.0202s
-- add_index(:issues, :created_on)
   -> 0.0077s
-- add_index(:news, :created_on)
   -> 0.0070s
-- add_index(:attachments, :created_on)
   -> 0.0062s
-- add_index(:documents, :created_on)
   -> 0.0059s
-- add_index(:time_entries, :created_on)
   -> 0.0062s
==  AddActivityIndexes: migrated (0.0751s) ====================================

==  AddVersionsStatus: migrating ==============================================
-- add_column(:versions, :status, :string, {:default=>"open"})
   -> 0.0056s
==  AddVersionsStatus: migrated (0.0067s) =====================================

==  AddViewIssuesPermission: migrating ========================================
==  AddViewIssuesPermission: migrated (0.0048s) ===============================

==  AddDefaultDoneRatioToIssueStatus: migrating ===============================
-- add_column(:issue_statuses, :default_done_ratio, :integer)
   -> 0.0053s
==  AddDefaultDoneRatioToIssueStatus: migrated (0.0055s) ======================

==  AddVersionsSharing: migrating =============================================
-- add_column(:versions, :sharing, :string, {:null=>false, :default=>"none"})
   -> 0.0056s
-- add_index(:versions, :sharing)
   -> 0.0059s
==  AddVersionsSharing: migrated (0.0118s) ====================================

==  AddLftAndRgtIndexesToProjects: migrating ==================================
-- add_index(:projects, :lft)
   -> 0.0059s
-- add_index(:projects, :rgt)
   -> 0.0060s
==  AddLftAndRgtIndexesToProjects: migrated (0.0122s) =========================

==  AddIndexToSettingsName: migrating =========================================
-- add_index(:settings, :name)
   -> 0.0058s
==  AddIndexToSettingsName: migrated (0.0059s) ================================

==  AddIndexesToIssueStatus: migrating ========================================
-- add_index(:issue_statuses, :position)
   -> 0.0224s
-- add_index(:issue_statuses, :is_closed)
   -> 0.0067s
-- add_index(:issue_statuses, :is_default)
   -> 0.0250s
==  AddIndexesToIssueStatus: migrated (0.0546s) ===============================

==  RemoveEnumerationsOpt: migrating ==========================================
-- remove_column(:enumerations, :opt)
   -> 0.0060s
==  RemoveEnumerationsOpt: migrated (0.0062s) =================================

==  ChangeWikiContentsTextLimit: migrating ====================================
-- change_column(:wiki_contents, :text, :text, {:limit=>16777216})
   -> 0.0253s
-- change_column(:wiki_content_versions, :data, :binary, {:limit=>16777216})
   -> 0.0072s
==  ChangeWikiContentsTextLimit: migrated (0.0329s) ===========================

==  ChangeUsersMailNotificationToString: migrating ============================
-- rename_column(:users, :mail_notification, :mail_notification_bool)
   -> 0.0089s
-- add_column(:users, :mail_notification, :string, {:null=>false, :default=>""})
   -> 0.0082s
-- remove_column(:users, :mail_notification_bool)
   -> 0.0075s
==  ChangeUsersMailNotificationToString: migrated (0.0276s) ===================

==  UpdateMailNotificationValues: migrating ===================================
==  UpdateMailNotificationValues: migrated (0.0000s) ==========================

==  AddIndexOnChangesetsScmid: migrating ======================================
-- add_index(:changesets, [:repository_id, :scmid], {:name=>:changesets_repos_scmid})
   -> 0.0071s
==  AddIndexOnChangesetsScmid: migrated (0.0073s) =============================

==  AddIssuesNestedSetsColumns: migrating =====================================
-- add_column(:issues, :parent_id, :integer, {:default=>nil})
   -> 0.0073s
-- add_column(:issues, :root_id, :integer, {:default=>nil})
   -> 0.0093s
-- add_column(:issues, :lft, :integer, {:default=>nil})
   -> 0.0078s
-- add_column(:issues, :rgt, :integer, {:default=>nil})
   -> 0.0078s
==  AddIssuesNestedSetsColumns: migrated (0.0333s) ============================

==  AddIndexOnIssuesNestedSet: migrating ======================================
-- add_index(:issues, [:root_id, :lft, :rgt])
   -> 0.0086s
==  AddIndexOnIssuesNestedSet: migrated (0.0088s) =============================

==  ChangeChangesPathLengthLimit: migrating ===================================
-- change_column(:changes, :path, :text, {:null=>true, :default=>nil})
   -> 0.0084s
-- change_column(:changes, :path, :text, {:null=>false})
   -> 0.0208s
-- change_column(:changes, :from_path, :text)
   -> 0.0075s
==  ChangeChangesPathLengthLimit: migrated (0.0371s) ==========================

==  EnableCalendarAndGanttModulesWhereAppropriate: migrating ==================
==  EnableCalendarAndGanttModulesWhereAppropriate: migrated (0.0079s) =========

==  AddUniqueIndexOnMembers: migrating ========================================
-- add_index(:members, [:user_id, :project_id], {:unique=>true})
   -> 0.0069s
==  AddUniqueIndexOnMembers: migrated (0.0083s) ===============================

==  AddCustomFieldsVisible: migrating =========================================
-- add_column(:custom_fields, :visible, :boolean, {:null=>false, :default=>true})
   -> 0.0062s
==  AddCustomFieldsVisible: migrated (0.0067s) ================================

==  ChangeProjectsNameLimit: migrating ========================================
-- change_column(:projects, :name, :string, {:null=>false, :limit=>nil, :default=>""})
   -> 0.0087s
==  ChangeProjectsNameLimit: migrated (0.0089s) ===============================

==  ChangeProjectsIdentifierLimit: migrating ==================================
-- change_column(:projects, :identifier, :string, {:limit=>nil})
   -> 0.0092s
==  ChangeProjectsIdentifierLimit: migrated (0.0095s) =========================

==  AddWorkflowsAssigneeAndAuthor: migrating ==================================
-- add_column(:workflows, :assignee, :boolean, {:null=>false, :default=>false})
   -> 0.0125s
-- add_column(:workflows, :author, :boolean, {:null=>false, :default=>false})
   -> 0.0080s
==  AddWorkflowsAssigneeAndAuthor: migrated (0.0249s) =========================

==  AddUsersSalt: migrating ===================================================
-- add_column(:users, :salt, :string, {:limit=>64})
   -> 0.0076s
==  AddUsersSalt: migrated (0.0078s) ==========================================

==  SaltUserPasswords: migrating ==============================================
-- Salting user passwords, this may take some time...
   -> 0.0397s
==  SaltUserPasswords: migrated (0.0399s) =====================================

==  AddRepositoriesPathEncoding: migrating ====================================
-- add_column(:repositories, :path_encoding, :string, {:limit=>64, :default=>nil})
   -> 0.0066s
==  AddRepositoriesPathEncoding: migrated (0.0068s) ===========================

==  ChangeRepositoriesPasswordLimit: migrating ================================
-- change_column(:repositories, :password, :string, {:limit=>nil, :default=>""})
   -> 0.0067s
==  ChangeRepositoriesPasswordLimit: migrated (0.0068s) =======================

==  ChangeAuthSourcesAccountPasswordLimit: migrating ==========================
-- change_column(:auth_sources, :account_password, :string, {:limit=>nil, :default=>""})
   -> 0.0083s
==  ChangeAuthSourcesAccountPasswordLimit: migrated (0.0085s) =================

==  ChangeJournalDetailsValuesToText: migrating ===============================
-- change_column(:journal_details, :old_value, :text)
   -> 0.0076s
-- change_column(:journal_details, :value, :text)
   -> 0.0070s
==  ChangeJournalDetailsValuesToText: migrated (0.0149s) ======================

==  AddRepositoriesLogEncoding: migrating =====================================
-- add_column(:repositories, :log_encoding, :string, {:limit=>64, :default=>nil})
   -> 0.0053s
==  AddRepositoriesLogEncoding: migrated (0.0055s) ============================

==  CopyRepositoriesLogEncoding: migrating ====================================
==  CopyRepositoriesLogEncoding: migrated (0.0034s) ===========================

==  AddIndexToUsersType: migrating ============================================
-- add_index(:users, :type)
   -> 0.0073s
==  AddIndexToUsersType: migrated (0.0075s) ===================================

==  AddRolesIssuesVisibility: migrating =======================================
-- add_column(:roles, :issues_visibility, :string, {:null=>false, :limit=>30, :default=>"default"})
   -> 0.0059s
==  AddRolesIssuesVisibility: migrated (0.0061s) ==============================

==  AddIssuesIsPrivate: migrating =============================================
-- add_column(:issues, :is_private, :boolean, {:null=>false, :default=>false})
   -> 0.0089s
==  AddIssuesIsPrivate: migrated (0.0091s) ====================================

==  AddRepositoriesExtraInfo: migrating =======================================
-- add_column(:repositories, :extra_info, :text)
   -> 0.0069s
==  AddRepositoriesExtraInfo: migrated (0.0071s) ==============================

==  CreateChangesetParents: migrating =========================================
-- create_table(:changeset_parents, {:id=>false})
   -> 0.0035s
-- add_index(:changeset_parents, [:changeset_id], {:unique=>false, :name=>:changeset_parents_changeset_ids})
   -> 0.0210s
-- add_index(:changeset_parents, [:parent_id], {:unique=>false, :name=>:changeset_parents_parent_ids})
   -> 0.0080s
==  CreateChangesetParents: migrated (0.0330s) ================================

Redmine 1.3.0! #09 rubygem

じんせいあきらめがかんじん

このあたりで思い知らされた から,深く考えずに gem でどんどんインストールしましょう。

つかいかた

まずは rack を探してみるよ。

$ gem search rack -r

*** REMOTE GEMS ***

aleksi-rack-perftools_profiler (0.0.4)
AmberRack (0.1.0)
animalcracker (0.0.2)
app-racket (0.1.0)
appengine-rack (0.0.13)
assert-rack-test (0.1.0)
async-rack (0.5.1)
aws_tracker (0.0.2)
backtrack (0.1.0)
backtrack-xpath (0.1.0)
bayeux-rack (0.6.2)
bracken (0.1.1)
bracket_notation (1.1.0)
bus_tracker (1.1.0)
capybara-on-crack (0.0.1)
casrack_the_authenticator (1.6.0)
clarity_tracking_number (0.0.1)
commit_tracker (0.0.3)
cookie_tracker (1.2.0)
corntrace-rack-contrib (1.0.2.3)
crack (0.3.1)
cracker (0.0.1)
crackoid (1.0.1)
crackup (1.0.1)
cui8tracks (0.3.0)
DatamapperRackStreamer (0.1)
dav4rack (0.2.10)
deploy_tracker (0.0.4)
deploy_tracking (0.4.0)
deploytracking (0.1.0)
devver-rack-contrib (0.9.7)
dominiquebrezinski-rack-openid (1.0.3)
donottrack (0.1.2)
eac-rack (1.1.1)
easy-rack-open-id (0.3.2)
edgar-rack (1.2.1)
em-rack-mongrel2 (0.2.0)
Empact-trackless_triggers (0.1.1)
eol_rackbox (1.1.7)
esi-for-rack (0.0.4)
factorylabs-casrack_the_authenticator (1.6.1)
ffi-tracker (0.0.2)
firecracker (1.0.1)
fog_tracker (0.3.1)
foolabs-rack-flash-session (1.0.2)
freshtrack (0.5.0)
ghazel-rack-bug (0.3.0.4)
ghoul_grack (0.0.1)
git_pivotal_tracker (0.2.0)
git_pivotal_tracker_x (0.1.1)
git_tracking (0.1.3)
grackle (0.1.10)
graffititracker_devise (1.0.11)
gridfs-rackdav (0.1.0)
has_tracking (0.2.1)
hiraku-rack (1.0.0.1)
honkster-rack-ssl-enforcer (0.2.2.1)
html5-rack-tidy (0.2.4)
http_tracker (0.1.1)
htty-rack (0.0.5)
hyperbolist-rack-codehighlighter (0.4.4)
i-rack (0.1.0)
ip_tracker (0.0.2)
jakewendt-simply_trackable (1.3.7)
jetty-rackup (7.0.0)
jnunemaker-rack-gridfs (0.3.0)
jrack_handlers (1.0.1 java)
jruby-rack (1.1.3)
jruby-rack-metrics (0.0.3)
jruby-rack-standalone-jetty (0.0.1)
jruby-rack-worker (0.3 jruby)
keyrack (0.2.3)
killer_rspec_rack (0.0.1)
knife-rackspace (0.5.12)
lesstrack (1.0.1)
lgierth-rack-mount (0.6.13)
lrd_rack_bug (0.3.1.2)
minad-rack (1.0.1)
minad-rack-cache (0.5.2)
minad-rack-esi (0.1.9)
mogstored_rack (1.0.0)
mongo-rack-session (0.0.3)
mongo_rack (0.0.5)
mujhs-rack-gridfs (0.4.0)
myronmarston-rack-client (0.2.4)
nov-rack-openid (1.2.1)
nutheory-rack-gridfs (0.1.0)
nutheory_rack (0.0.1)
oauth2-rack (1.1.1)
opentracker-ws (0.0.6)
package_tracker (0.0.3)
panmind-usage-tracker (1.1.2)
pebbles-rack-hanoi (0.1.0)
pivotal-tracker (0.5.1)
pivotal-tracker-client (0.2.0)
pivotal-tracker-console (0.0.1)
pivotal_tracker (0.3.0)
piwik-tracker (0.1.1)
Rack (2.0.0)
rack (1.4.1)
rack-abstract-format (0.9.9)
rack-accept (0.4.4)
rack-accept-header-updater (1.1.1)
rack-accept-media-types (0.9)
rack-accept_language (0.0.0)
rack-acceptable (0.1.0)
rack-accepts (0.0.1)
rack-active_record_status (0.6.0)
rack-add-pdf-headers-for-ie (0.1.0)
rack-affiliates (0.2.0)
rack-aggregate (0.1.0)
rack-alive (0.0.2)
rack-amf (2.0.0)
rack-analytics (0.0.3)
rack-api (1.0.2)
rack-asset-compiler (0.2.1)
rack-assets (0.9.1)
rack-async (0.1.0)
rack-async2sync (0.1.0)
rack-auth-cheat (0.1.0)
rack-auth-cookie (0.7.6)
rack-auth-ip (0.0.4)
rack-auth-kerberos (0.2.5)
rack-authenticate (0.4.0)
rack-backend-api (0.3.3)
rack-bert-rpc (0.3.0)
rack-block (0.1.1)
rack-bouncer (1.4.2)
rack-bridge (0.6.1)
rack-bug (0.3.0)
rack-bug-speedtracer (0.0.1)
rack-bundle (0.2.3)
rack-cache (1.1)
rack-cache-buster (0.2.2)
rack-cache-purge (0.0.2)
rack-cache-tags (0.0.6)
rack-call (0.0.1)
rack-campaign (0.0.4)
rack-canonical-host (0.0.3)
rack-cappuccino (0.0.2)
rack-captchator (0.1.0)
rack-cas-client (0.1.4)
rack-casual (0.1.2)
rack-cat (0.1.2)
rack-cerberus (0.3.1)
rack-chromeframe (1.0.0)
rack-client (0.4.0)
rack-closed (0.0.3)
rack-cluster (0.0.1)
rack-codehighlighter (0.5.0)
rack-coderay (0.2.0)
rack-coffee (0.9.1)
rack-combobot (0.0.2)
rack-config (0.9.0)
rack-conneg (0.1.5)
rack-content_type_validator (0.2.1)
rack-contrib (1.1.0)
rack-contrib-with-working-jsonp (0.9.2.1)
rack-contrib_stringbot (0.9.3)
rack-cookie-monster (1.1.0)
rack-cors (0.2.4)
rack-couchdb-oauth2 (0.3.0)
rack-counter (1.0.0)
rack-databases (0.0.2)
rack-datamapper (0.3.3)
rack-datamapper-session (0.3)
rack-debug (2.0.0)
rack-debug19 (1.4.2)
rack-denyie (1.1.3)
rack-detailed_request_logger (0.1.3)
rack-directory-index (0.1.0)
rack-docunext-content-length (0.0.1)
rack-domain_redirect (0.1.1)
rack-embed (0.0.1)
rack-ensure_proper_host (0.1.0)
rack-environment (1.2.0)
rack-environmental (1.2.0)
rack-escapee (0.1.1)
rack-esi (0.2.0)
rack-evil_robot (0.1.0)
rack-facebook (0.0.3)
rack-facebook-method-fix (0.4.0)
rack-facebook-signed-request (0.2.0)
rack-failtale (0.1.1)
rack-fb (0.0.2)
rack-fiber_pool (0.9.2)
rack-fix-content-type (1.0.1)
rack-flash (0.1.2)
rack-flash-session (1.0.2)
rack-flash2 (0.0.3)
rack-fonts (0.1.1)
rack-fontserve (0.2.0)
rack-footnotes (0.0.4)
rack-force_domain (0.2.0)
rack-forceie7 (1.0.0)
rack-funky-cache (0.0.5)
rack-gauges (1.1.0)
rack-gem-assets (0.1.2)
rack-geo (0.1.3)
rack-geoip (0.1.2)
rack-geoipcity (0.0.1)
rack-geoipcountry (1.0.0)
rack-gist (1.1.9)
rack-git-up (0.0.1)
rack-git-version (0.0.3)
rack-git_sha (1.0.0)
rack-goggles (1.1.0)
rack-golden_frill (0.1.2)
rack-golem (0.0.3)
rack-google-analytics (0.10.0)
rack-google-custom-search (0.1.1)
rack-google_analytics (1.0.2)
rack-gridfs (0.4.1)
rack-gridfs-thumb (0.2.0)
rack-gsub (0.1.0)
rack-handlers (0.5.1)
rack-header-key (0.0.4)
rack-headercontrol (0.0.2)
rack-headers (0.1.0)
rack-heroku_env (0.0.1)
rack-honeypot (0.1.2)
rack-hoptoad-notifier (0.1.0)
rack-html5 (1.0.2)
rack-html5-rails_helper (1.0.1)
rack-htmltidy (0.1.0)
rack-http-enforcer (0.1.2)
rack-httperflog (0.1.1)
rack-i18n_locale_switcher (0.5.2)
rack-idempotent (0.0.3)
rack-ie-redirect-fix (0.0.1)
rack-if (0.1.2)
rack-iframe (0.0.2)
rack-ip-whitelist (0.0.2)
rack-jekyll (0.3.7)
rack-jetty (0.2.0)
rack-jsonp (1.3.0)
rack-jsonp-middleware (0.0.5)
rack-jsonp-tools (0.4.1)
rack-ketai (0.2.3)
rack-killswitch (1.0.0)
rack-lazy-load (0.0.0)
rack-legacy (0.3.1)
rack-less (3.0.2)
rack-lesscss (0.2.3)
rack-lettering (0.1.1)
rack-linkeddata (0.3.0)
rack-linkify (0.0.2)
rack-livereload (0.3.4)
rack-locale_chooser (1.8)
rack-log-request (0.0.3)
rack-mail_exception (0.0.1)
rack-maintenance (0.3.0)
rack-maintenance_mode (0.0.4)
rack-mason (0.1.2)
rack-methodoverride-with-params (1.0.0)
rack-middleware-glitch (0.0.1)
rack-mlog (0.0.0)
rack-mobile-detect (0.3.0)
rack-mock-pubcookie (0.0.3)
rack-modernizr (0.0.2)
rack-mogilefs (0.3.2)
rack-mongo (0.0.4)
rack-mongrel2 (0.2.4)
rack-monitor (0.4.0)
rack-mount (0.8.3)
rack-multipart_related (0.1.0)
rack-mux (0.1.2)
rack-neverlocal (0.0.1)
rack-no-www (0.0.2)
rack-nocache (0.1.0)
rack-noie (1.0)
rack-noie6 (1.1.1)
rack-non-www-enforcer (0.0.1)
rack-normalize-domain (0.0.1)
rack-noslashdot (1.0.0)
rack-ntlm (0.0.1)
rack-oauth (0.1.5)
rack-oauth-wrap (0.5.2.2)
rack-oauth2 (0.14.2)
rack-oauth2-provider (0.0.3)
rack-oauth2-server (2.4.1)
rack-oauth2_utils (0.0.4)
rack-obama (0.1.1)
rack-offline (0.6.2)
rack-olark (0.0.6)
rack-openid (1.3.1)
rack-p3p (0.5.0)
rack-pack (0.3.2)
rack-pagespeed (1.1.1)
rack-parser (0.1.2)
rack-path_prefixer (0.1.0)
rack-payment (0.1.4)
rack-per_request_cache (1.0.0)
rack-perftools_profiler (0.5.1)
rack-php-session (0.1.0)
rack-ping (0.0.2)
rack-piwik (0.1.2)
rack-pjax (0.5.7)
rack-plastic (0.1.3)
rack-pony (1.0.0)
rack-post-body-to-params (0.1.5)
rack-pot (0.1.0)
rack-preview (0.0.1)
rack-private (0.1.8)
rack-probe (0.0.3)
rack-process-name (0.0.2)
rack-profile (0.5.0)
rack-protection (1.2.0)
rack-proxy (0.3.7)
rack-pubcookie (0.0.3)
rack-pygmentize (1.0.2)
rack-pygments (0.4)
rack-r18n (0.1)
rack-rails-logger (1.0.2)
rack-raker (0.1.1)
rack-ratelimiter (0.0.2)
rack-raw-upload (1.0.11)
rack-rdiscount (0.0.3)
rack-recaptcha (0.6.4)
rack-recorder (1.1.0)
rack-redirect (0.0.3)
rack-referrals (0.0.2)
rack-rekon (0.1.0)
rack-request-profiler (0.1.1)
rack-request_logger (0.0.5)
rack-rescue (0.1.2)
rack-reshow (0.2.2)
rack-respond_to (0.9.8)
rack-response-signature (0.2.0)
rack-rest_api_versioning (0.0.2)
rack-rest_book (1.0.4)
rack-restful-controller (0.0.1)
rack-restful_submit (1.2.2)
rack-revalidate-while-cache (0.0.1)
rack-reverse-proxy (0.4.4)
rack-revision-info (0.4.1)
rack-rewrite (1.2.1)
rack-rewrite_root_filter (0.0.1)
rack-rpc (0.0.6)
rack-rpx (0.1.5)
rack-rscript (0.3.1)
rack-rsi (0.0.2)
rack-s3 (0.0.4)
rack-saml (0.0.2)
rack-sanitize (0.1.0)
rack-screen-door (0.0.4)
rack-search_terms (0.1.0)
rack-secure_only (0.5.0)
rack-server-pages (0.0.4)
rack-sesame (0.0.0)
rack-session-dbm (0.1.3)
rack-session-leveldb (0.0.1)
rack-session-mongo (0.0.1)
rack-session-redis (0.0.3)
rack-session-sequel (0.0.1)
rack-session-stack (0.0.3)
rack-singleshot (0.1.0)
rack-smoke (1.0.0)
rack-smusher (0.0.3)
rack-sparklines (1.1.0)
rack-sparql (0.0.0)
rack-speedtracer (0.1.0)
rack-speling (0.0.3)
rack-sprocketize (0.4.1)
rack-sprockets (1.1.0)
rack-ssl (1.3.2)
rack-ssl-enforcer (0.2.4)
rack-ssl-facebook (1.3.4)
rack-ssl-rails (0.0.2)
rack-staging (0.1.0)
rack-static-if-present (0.2.0)
rack-static_fallback (1.0.4)
rack-staticifier (0.1.6)
rack-statsd (0.1.1)
rack-stereoscope (1.0.0)
rack-streaming-proxy (1.0.3)
rack-streaming-proxy2 (1.0.3)
rack-strip-www (0.3.0)
rack-stubs (1.0.0)
rack-subdomain (0.0.2)
rack-superfeedr (0.0.2)
rack-supported-media-types (0.9.4)
rack-tamperproof (0.0.1)
rack-test (0.6.1)
rack-test-rest (0.4.4)
rack-throttle (0.3.0)
rack-thumb (0.2.4)
rack-tidy (0.2.0)
rack-tidy-ffi (0.1)
rack-time-zone-header (0.1.2)
rack-timeout (0.0.3)
rack-tipi (0.1.0)
rack-tipi-jquery (0.1.0)
rack-track (0.1.5)
rack-try_static (0.1.1)
rack-tunnel (0.1.1)
rack-turing-test (0.1.2)
rack-twitter-auth (0.2.0)
rack-typekit (0.1.0)
rack-unbasic (0.1)
rack-unscripted (0.1.0)
rack-uploads (0.2.1)
rack-useragent (0.0.3)
rack-useragent-filter (0.2.0)
rack-valid-html (0.1.2)
rack-validate (0.1.4)
rack-var-dump (1.0.1)
rack-version-header (0.1.1)
rack-webauth (0.1.3)
rack-webconsole (0.1.2)
rack-webmoney (0.0.7)
rack-webtranslateit (0.1.3)
rack-whitelist (0.1.9)
rack-www (1.4.0)
rack-www-enforcer (0.0.1)
rack-xapper (0.0.2)
rack-xframe-options (0.1.2)
rack-xml_stylesheet (0.0.1)
rack-xsl (0.2.11)
rack-xslview (0.2.6)
rack-zombie_shotgun (0.0.1)
rack_after_reply (0.0.2)
rack_bugzscout (1.0.0)
rack_clicky (1.0.5)
rack_csrf (2.3.0)
rack_dav (0.1.3)
rack_detect_platform (0.0.2)
rack_detect_robots (0.0.2)
rack_direct (0.1.15)
rack_environment (0.0.1)
rack_errorpage (1.0.0)
rack_facebook_connect (0.0.1)
rack_fast_escape (2009.06.24)
rack_format_response (0.0.2)
rack_global_session (0.3)
rack_grid (0.0.4)
rack_grid_thumb (0.0.3)
rack_gyazo (0.1.2)
rack_hashed_cookie_session (0.0.2)
rack_headers (0.1.2)
rack_hoptoad (0.1.5)
rack_image_size (0.0.2)
rack_ip_restrictor (0.1.2)
rack_iphone_web_app (0.0.4)
rack_jruby_profiling (1.0.0)
rack_konami (1.0.0)
rack_mailer (0.1.0)
rack_monitor (0.0.1)
rack_my_openid (0.0.2)
rack_new_window (0.0.2)
rack_oom_killer (0.0.2)
rack_proctitle (1.0.1)
rack_push (0.1.0)
rack_referral (0.0.1)
rack_replace (0.0.1)
rack_respond_to_malformed_formats (0.0.4)
rack_restrictor (1.0.1)
rack_revision_info (0.3.5)
rack_rscript (0.3.1)
rack_session_access (0.0.2)
rack_spellchecker (0.2.0)
rack_staging (0.2.0)
rack_upstream_identification (0.0.2)
rack_url_stripper (0.1.0)
rackables (0.2.0)
rackamole (0.4.1)
racked (1.0.3)
racket (1.0.11)
racket2 (1.0.9)
rackif (0.1.1)
rackjour (0.1.8)
rackjson (0.4.2)
racknga (0.9.3)
racko (50000.0.1)
racksh (0.9.10)
rackson-five (0.3.1)
rackspace-apps (0.1.1)
rackspace-cloud (0.6)
rackspace_cloud (0.4.0)
rackspace_cloudservers_api (0.0.2)
railslove-rack-throttle (0.0.1)
redis-rack (1.4.1)
redis-rack-cache (1.1)
redrack-session (1.0.1)
reference_tracking (0.0.4)
referer_tracking (1.0.1)
referrer_tracker (0.1.5)
resque-job-tracking (0.0.2)
restrack (1.3.4)
restrack-balancer (1.1.1)
restrack-client (1.1.1)
restrack-splitter (1.1.1)
right_rackspace (0.0.0.2)
riot-rack (0.0.1)
ripl-rack (0.2.0)
robworley-rack-noie (1.0.1)
ruby-cracklib (0.1.0)
rubylibcrack (0.2.3)
rubytrackselector (0.0.2)
rworktracker (0.0.6)
sass_on_heroku_with_rack (0.0.2)
session_tracker (0.0.4)
sham_rack (1.3.3)
sir_tracks_alot (0.6.2)
smoke-rack (0.0.4)
sprockets-rack (0.0.2)
stefl-rack-cache-purge (0.0.2)
stocktracker (0.0.6)
stream2tracks (0.0.3)
test_track (0.0.4)
time-tracker (1.0.0)
time_tracker (0.1.1)
timetrackr (0.2.0)
topprospect-pivotal-tracker (0.1.1)
tpitale-rack-oauth2-server (2.2.1.2)
track (0.4.0)
track-plugins (0.0.1)
track-r (1.9.2)
track_changes (1.0.1)
track_history (0.1.0)
track_tweets (0.0.3)
trackablaze (0.1.7)
trackable (0.4.1)
trackable_tasks (0.0.5)
Tracker (1.0.0)
tracker (0.0.2)
tracker-hook-forwarder (0.1.0)
tracker-ical (0.0.3)
tracker_cmd (0.0.2)
tracker_custom_points (0.0.3)
tracker_packer (0.1.0)
trackerific (0.6.2)
tracking_link (0.0.1)
tracking_number (0.5.0)
trackoid (0.3.7)
trackr (0.0.1)
tracks_visits (0.1.0)
tracksperanto (2.9.5)
trackzor (0.1.5)
tricycle-rack-contrib (0.9.7)
trinidad_rack (0.1.0)
tsenart-pivotal-tracker (0.5.0)
uagent_rack (0.0.1)
universe-rack (0.1.1)
universe-rack-testing (0.1.1)
viximo-rack-throttle (0.4.0)
vizi_tracker (0.3.0)
websocket-rack (0.3.3)
westarete-tracker-tools (0.3.0)
wested-rack-bug (0.2.2.1)
wireframe-rack-bug (0.3.1.2)
xapian-rack (1.2.3.3)
xmlrpc-rack_server (0.0.1)

いやいや。ええと,こうやるといいらしいよ。

$ gem query -n ^rack$ -r

*** REMOTE GEMS ***

Rack (2.0.0)
rack (1.4.1)

Redmine1.3を実行するにはRack 1.1.2が必要 らしいよ。

$ gem query -n ^rack$ -ra

*** REMOTE GEMS ***

Rack (2.0.0, 1.1.3, 1.1.2, 1.1.1)
rack (1.4.1, 1.4.0, 1.3.6, 1.3.5, 1.3.4, 1.3.3, 1.3.2, 1.3.1, 1.3.0, 1.2.5, 1.2.4, 1.2.3, 1.2.2, 1.2.1, 1.2.0, 1.1.3, 1.1.2, 1.1.1, 1.1.0, 1.0.1, 1.0.0, 0.9.1, 0.9.0, 0.4.0, 0.3.0, 0.2.0, 0.1.0)
$ sudo gem install rack -v=1.1.2 --no-rdoc --no-ri
Successfully installed rack-1.1.2
1 gem installed

2012年2月20日月曜日

Redmine 1.3.0! #08 いろいろ設定

config/database.yml

config/database.yml.example をコピーしてきて。

production:
  adapter: mysql
  database: redmineDatabase
  host: localhost
  username: redmineRoot
  password: redmineRootPassword
  encoding: utf8

テストなのでてきとう。…CamelCase な文化ではないのかな?ちょっと違和感があるけれど。

MySQL

MySQL にデータベースとかユーザとか作っておく。

$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 35
Server version: 5.1.49-3 (Debian)

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license
 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> CREATE DATABASE redmineDatabase;
Query OK, 1 row affected (0.00 sec)
 
mysql> GRANT ALL ON `redmineDatabase`.* TO redmineRoot IDENTIFIED BY 'redmineRootPassword';
Query OK, 0 rows affected (0.00 sec)

mysql> exit;
Bye

ちょっとだけよ?

gem で何も入れていないけど,これくらいはできるかな?

/var/local/lib/redmine$ sudo -u www-data rake generate_session_store
[sudo] password for takashima:
(in /var/local/lib/redmine-1.3.1)
Please install RDoc 2.4.2+ to generate documentation.

rdoc は Ruby が提供しちゃっているはずなの。

$ rdoc --version
RDoc V1.0.1 - 20041108

…ええと。

深く考えずに gem でインストール。

$ sudo gem search rdoc -r

*** REMOTE GEMS ***

darkfish-rdoc (1.1.5)
detroit-rdoc (0.1.0)
jakewendt-rdoc_rails (0.0.2)
murdoc (0.1.12)
murdoch (1.0.1)
quality_rdoc (0.0.1)
rdoc (3.12)
rdoc-babel (0.9.1)
rdoc-data (3.12)
rdoc-f95 (0.0.2)
rdoc-newfish (0.5.0)
rdoc-perl_pod (1.0)
rdoc-rake (1.0.1)
rdoc-readme (0.1.2)
rdoc-sinatra (1)
rdoc-tags (1.2)
rdoc_chm (2.4.2)
rdoc_html_templates (2.3.0)
rdoc_osx_dictionary (2.0.1)
rdoc_rest (0.1.2)
rdoctest (0.0.2)
yardocco (0.1.0)
$ sudo gem install rdoc
Building native extensions.  This could take a while...
Depending on your version of ruby, you may need to install ruby rdoc/ri data:

<= 1.8.6 : unsupported
 = 1.8.7 : gem install rdoc-data; rdoc-data --install
 = 1.9.1 : gem install rdoc-data; rdoc-data --install
>= 1.9.2 : nothing to do! Yay!
Successfully installed json-1.6.5
Successfully installed rdoc-3.12
2 gems installed
Installing ri documentation for json-1.6.5...
Installing ri documentation for rdoc-3.12...
Installing RDoc documentation for json-1.6.5...
Installing RDoc documentation for rdoc-3.12...

もういっかい。

$ sudo -u www-data rake generate_session_store
(in /var/local/lib/redmine-1.3.1)
$ sudo -u www-data rake db:migrate RAILS_ENV=production
(in /var/local/lib/redmine-1.3.1)
rake aborted!
Could not find RubyGem rack (~> 1.1.0)

(See full trace by running task with --trace)

……あれ?

librack-ruby (1.1.0-4) ではだめかなぁ?

$ sudo apt-get install  librack-ruby -s
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の特別パッケージがインストールされます:
  javascript-common libjs-jquery librack-ruby1.8 wwwconfig-common
提案パッケージ:
  postgresql-client apache apache-ssl
以下のパッケージが新たにインストールされます:
  javascript-common libjs-jquery librack-ruby librack-ruby1.8 wwwconfig-common
アップグレード: 0 個、新規インストール: 5 個、削除: 0 個、保留: 0 個。
Inst wwwconfig-common (0.2.1 Debian:6.0.4/stable [all])
Inst javascript-common (7 Debian:6.0.4/stable, Debian:testing [all])
Inst libjs-jquery (1.4.2-2 Debian:6.0.4/stable [all])
Inst librack-ruby1.8 (1.1.0-4 Debian:6.0.4/stable [all])
Inst librack-ruby (1.1.0-4 Debian:6.0.4/stable [all])
Conf wwwconfig-common (0.2.1 Debian:6.0.4/stable [all])
Conf javascript-common (7 Debian:6.0.4/stable, Debian:testing [all])
Conf libjs-jquery (1.4.2-2 Debian:6.0.4/stable [all])
Conf librack-ruby1.8 (1.1.0-4 Debian:6.0.4/stable [all])
Conf librack-ruby (1.1.0-4 Debian:6.0.4/stable [all])

もういっかい。

$ sudo -u www-data rake generate_session_store
(in /var/local/lib/redmine-1.3.1)
$ sudo -u www-data rake db:migrate RAILS_ENV=production
(in /var/local/lib/redmine-1.3.1)
rake aborted!
Could not find RubyGem rack (~> 1.1.0)

(See full trace by running task with --trace)

……かわらんがな?

Redmine 1.3.0! #07 wheezy の redmine

wheezyRedmine

1.3.0 らしいんだよ。

うん,Rails とか Rack とかのバージョンばっかり気にしていたけれど,Redmine パッケージ を見てみるのをすっかり忘れてたよ。

いぞん

何でこんなに見にくいんだろうねぇ。

$ apt-cache depends redmine -t wheezy
redmine
  依存: ruby1.8
 |依存: ruby-rails-2.3
  依存: rails
  依存: dbconfig-common
 |依存: redmine-sqlite
 |依存: redmine-mysql
  依存: redmine-pgsql
  依存: ruby-coderay
  依存: ruby-net-ldap
 |依存: debconf
  依存: <debconf-2.0>
    cdebconf
    debconf
  先行依存: debconf
  提案: libsvn-ruby
  提案: ruby-rmagick
  提案: libopenid-ruby
  破壊: redmine-plugin-botsfilter

見やすく(?)するとこう。

ruby1.8, 
ruby-rails-2.3 | rails, 
dbconfig-common, 
redmine-sqlite | redmine-mysql | redmine-pgsql, 
ruby-coderay, 
ruby-net-ldap, 
debconf | <debconf-2.0>

dbconfig-commondebconf は多分いらないんぢゃないかな? ruby-net-ldap は???

いんすとーる

ごー

$ sudo apt-get install ruby rake rubygems libmysql-ruby libsvn-ruby -s
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の特別パッケージがインストールされます:
  binutils build-essential cpp cpp-4.4 dpkg-dev fakeroot g++ g++-4.4 gcc
  gcc-4.4 libalgorithm-diff-perl libalgorithm-diff-xs-perl
  libalgorithm-merge-perl libc-dev-bin libc6-dev libdpkg-perl libgmp3c2
  libgomp1 libmpfr4 libmysql-ruby1.8 libruby1.8 libstdc++6-4.4-dev
  libsvn-ruby1.8 libtimedate-perl linux-libc-dev make manpages-dev ruby1.8
  ruby1.8-dev rubygems1.8 unzip zip
提案パッケージ:
  binutils-doc cpp-doc gcc-4.4-locales debian-keyring g++-multilib
  g++-4.4-multilib gcc-4.4-doc libstdc++6-4.4-dbg gcc-multilib autoconf
  automake1.9 libtool flex bison gdb gcc-doc gcc-4.4-multilib
  libmudflap0-4.4-dev libgcc1-dbg libgomp1-dbg libmudflap0-dbg libcloog-ppl0
  libppl-c2 libppl7 glibc-doc libstdc++6-4.4-doc make-doc ri ruby-dev
  ruby1.8-examples ri1.8 rubygems-doc
以下のパッケージが新たにインストールされます:
  binutils build-essential cpp cpp-4.4 dpkg-dev fakeroot g++ g++-4.4 gcc
  gcc-4.4 libalgorithm-diff-perl libalgorithm-diff-xs-perl
  libalgorithm-merge-perl libc-dev-bin libc6-dev libdpkg-perl libgmp3c2
  libgomp1 libmpfr4 libmysql-ruby libmysql-ruby1.8 libruby1.8
  libstdc++6-4.4-dev libsvn-ruby libsvn-ruby1.8 libtimedate-perl
  linux-libc-dev make manpages-dev rake ruby ruby1.8 ruby1.8-dev rubygems
  rubygems1.8 unzip zip
アップグレード: 0 個、新規インストール: 37 個、削除: 0 個、保留: 0 個。
Inst binutils (2.20.1-16 Debian:6.0.4/stable [amd64])
Inst libc-dev-bin (2.11.3-3 Debian:stable-updates [amd64])
Inst linux-libc-dev (2.6.32-41 Debian:6.0.4/stable [amd64])
Inst libc6-dev (2.11.3-3 Debian:stable-updates [amd64])
Inst libgmp3c2 (2:4.3.2+dfsg-1 Debian:6.0.4/stable [amd64])
Inst libmpfr4 (3.0.0-2 Debian:6.0.4/stable [amd64])
Inst cpp-4.4 (4.4.5-8 Debian:6.0.4/stable [amd64])
Inst cpp (4:4.4.5-1 Debian:6.0.4/stable [amd64])
Inst libgomp1 (4.4.5-8 Debian:6.0.4/stable [amd64])
Inst gcc-4.4 (4.4.5-8 Debian:6.0.4/stable [amd64])
Inst gcc (4:4.4.5-1 Debian:6.0.4/stable [amd64])
Inst libstdc++6-4.4-dev (4.4.5-8 Debian:6.0.4/stable [amd64]) []
Inst g++-4.4 (4.4.5-8 Debian:6.0.4/stable [amd64])
Inst g++ (4:4.4.5-1 Debian:6.0.4/stable [amd64])
Inst make (3.81-8 Debian:6.0.4/stable [amd64])
Inst libtimedate-perl (1.2000-1 Debian:6.0.4/stable, Debian:testing [all])
Inst libdpkg-perl (1.15.8.12 Debian:6.0.4/stable [all])
Inst dpkg-dev (1.15.8.12 Debian:6.0.4/stable [all])
Inst build-essential (11.5 Debian:6.0.4/stable, Debian:testing [amd64])
Inst fakeroot (1.14.4-1 Debian:6.0.4/stable [amd64])
Inst libalgorithm-diff-perl (1.19.02-2 Debian:6.0.4/stable, Debian:testing [all])
Inst libalgorithm-diff-xs-perl (0.04-1 Debian:6.0.4/stable [amd64])
Inst libalgorithm-merge-perl (0.08-2 Debian:6.0.4/stable, Debian:testing [all])
Inst libruby1.8 (1.8.7.302-2squeeze1 Debian:6.0.4/stable [amd64])
Inst libmysql-ruby1.8 (2.8.2-1 Debian:6.0.4/stable [amd64])
Inst libmysql-ruby (2.8.2-1 Debian:6.0.4/stable [all])
Inst ruby1.8 (1.8.7.302-2squeeze1 Debian:6.0.4/stable [amd64])
Inst libsvn-ruby1.8 (1.6.12dfsg-6 Debian:6.0.4/stable, Debian-Security:6.0/stable [amd64])
Inst libsvn-ruby (1.6.12dfsg-6 Debian:6.0.4/stable, Debian-Security:6.0/stable [all])
Inst manpages-dev (3.27-1 Debian:6.0.4/stable [all])
Inst ruby (4.5 Debian:6.0.4/stable [all])
Inst rake (0.8.7-2 Debian:6.0.4/stable [all])
Inst ruby1.8-dev (1.8.7.302-2squeeze1 Debian:6.0.4/stable [amd64])
Inst rubygems1.8 (1.3.7-3 Debian:6.0.4/stable [all])
Inst rubygems (1.3.7-3 Debian:6.0.4/stable [all])
Inst unzip (6.0-4 Debian:6.0.4/stable [amd64])
Inst zip (3.0-3 Debian:6.0.4/stable [amd64])
Conf binutils (2.20.1-16 Debian:6.0.4/stable [amd64])
Conf libc-dev-bin (2.11.3-3 Debian:stable-updates [amd64])
Conf linux-libc-dev (2.6.32-41 Debian:6.0.4/stable [amd64])
Conf libc6-dev (2.11.3-3 Debian:stable-updates [amd64])
Conf libgmp3c2 (2:4.3.2+dfsg-1 Debian:6.0.4/stable [amd64])
Conf libmpfr4 (3.0.0-2 Debian:6.0.4/stable [amd64])
Conf cpp-4.4 (4.4.5-8 Debian:6.0.4/stable [amd64])
Conf cpp (4:4.4.5-1 Debian:6.0.4/stable [amd64])
Conf libgomp1 (4.4.5-8 Debian:6.0.4/stable [amd64])
Conf gcc-4.4 (4.4.5-8 Debian:6.0.4/stable [amd64])
Conf gcc (4:4.4.5-1 Debian:6.0.4/stable [amd64])
Conf g++-4.4 (4.4.5-8 Debian:6.0.4/stable [amd64])
Conf libstdc++6-4.4-dev (4.4.5-8 Debian:6.0.4/stable [amd64])
Conf g++ (4:4.4.5-1 Debian:6.0.4/stable [amd64])
Conf make (3.81-8 Debian:6.0.4/stable [amd64])
Conf libtimedate-perl (1.2000-1 Debian:6.0.4/stable, Debian:testing [all])
Conf libdpkg-perl (1.15.8.12 Debian:6.0.4/stable [all])
Conf dpkg-dev (1.15.8.12 Debian:6.0.4/stable [all])
Conf build-essential (11.5 Debian:6.0.4/stable, Debian:testing [amd64])
Conf fakeroot (1.14.4-1 Debian:6.0.4/stable [amd64])
Conf libalgorithm-diff-perl (1.19.02-2 Debian:6.0.4/stable, Debian:testing [all])
Conf libalgorithm-diff-xs-perl (0.04-1 Debian:6.0.4/stable [amd64])
Conf libalgorithm-merge-perl (0.08-2 Debian:6.0.4/stable, Debian:testing [all])
Conf libruby1.8 (1.8.7.302-2squeeze1 Debian:6.0.4/stable [amd64])
Conf libmysql-ruby1.8 (2.8.2-1 Debian:6.0.4/stable [amd64])
Conf libmysql-ruby (2.8.2-1 Debian:6.0.4/stable [all])
Conf ruby1.8 (1.8.7.302-2squeeze1 Debian:6.0.4/stable [amd64])
Conf libsvn-ruby1.8 (1.6.12dfsg-6 Debian:6.0.4/stable, Debian-Security:6.0/stable [amd64])
Conf libsvn-ruby (1.6.12dfsg-6 Debian:6.0.4/stable, Debian-Security:6.0/stable [all])
Conf manpages-dev (3.27-1 Debian:6.0.4/stable [all])
Conf ruby (4.5 Debian:6.0.4/stable [all])
Conf rake (0.8.7-2 Debian:6.0.4/stable [all])
Conf ruby1.8-dev (1.8.7.302-2squeeze1 Debian:6.0.4/stable [amd64])
Conf rubygems1.8 (1.3.7-3 Debian:6.0.4/stable [all])
Conf rubygems (1.3.7-3 Debian:6.0.4/stable [all])
Conf unzip (6.0-4 Debian:6.0.4/stable [amd64])
Conf zip (3.0-3 Debian:6.0.4/stable [amd64])
$ sudo apt-get install -t wheezy rails -s
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の特別パッケージがインストールされます:
  javascript-common libjs-prototype libjs-scriptaculous
  libmemcache-client-ruby libmemcache-client-ruby1.8 libruby1.8 libssl1.0.0
  libtzinfo-ruby libtzinfo-ruby1.8 multiarch-support ruby-actionmailer-2.3
  ruby-actionpack-2.3 ruby-activerecord-2.3 ruby-activeresource-2.3
  ruby-activesupport-2.3 ruby-blankslate ruby-builder ruby-i18n ruby-rack
  ruby-rails-2.3 ruby-rchardet ruby-text-format ruby-tmail ruby1.8 ruby1.8-dev
  wwwconfig-common
提案パッケージ:
  ruby1.8-examples ri1.8 postgresql-client
以下のパッケージは「削除」されます:
  ruby
以下のパッケージが新たにインストールされます:
  javascript-common libjs-prototype libjs-scriptaculous
  libmemcache-client-ruby libmemcache-client-ruby1.8 libssl1.0.0
  libtzinfo-ruby libtzinfo-ruby1.8 multiarch-support rails
  ruby-actionmailer-2.3 ruby-actionpack-2.3 ruby-activerecord-2.3
  ruby-activeresource-2.3 ruby-activesupport-2.3 ruby-blankslate ruby-builder
  ruby-i18n ruby-rack ruby-rails-2.3 ruby-rchardet ruby-text-format ruby-tmail
  wwwconfig-common
以下のパッケージはアップグレードされます:
  libruby1.8 ruby1.8 ruby1.8-dev
アップグレード: 3 個、新規インストール: 24 個、削除: 1 個、保留: 305 個。
Remv ruby [4.5] [rake:amd64 ]
Inst multiarch-support (2.13-26 Debian:testing [amd64]) [rake:amd64 ]
Conf multiarch-support (2.13-26 Debian:testing [amd64]) [rake:amd64 ]
Inst libssl1.0.0 (1.0.0g-1 Debian:testing [amd64]) [rake:amd64 ]
Inst wwwconfig-common (0.2.2 Debian:testing [all]) [rake:amd64 ]
Inst javascript-common (7 Debian:6.0.4/stable, Debian:testing [all]) [rake:amd64 ]
Inst libjs-prototype (1.7.0-2 Debian:testing [all]) [rake:amd64 ]
Inst libjs-scriptaculous (1.9.0-2 Debian:testing [all]) [rake:amd64 ]
Inst ruby1.8 [1.8.7.302-2squeeze1] (1.8.7.352-2 Debian:testing [amd64]) []
Inst ruby1.8-dev [1.8.7.302-2squeeze1] (1.8.7.352-2 Debian:testing [amd64]) []
Inst libruby1.8 [1.8.7.302-2squeeze1] (1.8.7.352-2 Debian:testing [amd64])
Inst ruby-blankslate (2.1.2.4-2 Debian:testing [all])
Inst ruby-builder (3.0.0-2 Debian:testing [all])
Inst ruby-i18n (0.6.0-1 Debian:testing [all])
Inst libmemcache-client-ruby1.8 (1.7.8-2 Debian:6.0.4/stable, Debian:testing [all])
Inst libmemcache-client-ruby (1.7.8-2 Debian:6.0.4/stable, Debian:testing [all])
Inst libtzinfo-ruby1.8 (0.3.19-1 Debian:6.0.4/stable, Debian:testing [all])
Inst libtzinfo-ruby (0.3.19-1 Debian:6.0.4/stable, Debian:testing [all])
Inst ruby-activesupport-2.3 (2.3.14-3 Debian:testing [all])
Inst ruby-activerecord-2.3 (2.3.14-1 Debian:testing [all])
Inst ruby-rack (1.4.0-1 Debian:testing [all])
Inst ruby-actionpack-2.3 (2.3.14-2 Debian:testing [all])
Inst ruby-text-format (1.0.0-3 Debian:testing [all])
Inst ruby-rchardet (1.3-2 Debian:testing [all])
Inst ruby-tmail (1.2.7.1-1 Debian:testing [amd64])
Inst ruby-actionmailer-2.3 (2.3.14-2 Debian:testing [all])
Inst ruby-activeresource-2.3 (2.3.14-1 Debian:testing [all])
Inst ruby-rails-2.3 (2.3.14-2 Debian:testing [all])
Inst rails (2.3.14.1 Debian:testing [all])
Conf libssl1.0.0 (1.0.0g-1 Debian:testing [amd64])
Conf wwwconfig-common (0.2.2 Debian:testing [all])
Conf javascript-common (7 Debian:6.0.4/stable, Debian:testing [all])
Conf libjs-prototype (1.7.0-2 Debian:testing [all])
Conf libjs-scriptaculous (1.9.0-2 Debian:testing [all])
Conf libruby1.8 (1.8.7.352-2 Debian:testing [amd64])
Conf ruby1.8 (1.8.7.352-2 Debian:testing [amd64])
Conf ruby1.8-dev (1.8.7.352-2 Debian:testing [amd64])
Conf ruby-blankslate (2.1.2.4-2 Debian:testing [all])
Conf ruby-builder (3.0.0-2 Debian:testing [all])
Conf ruby-i18n (0.6.0-1 Debian:testing [all])
Conf libmemcache-client-ruby1.8 (1.7.8-2 Debian:6.0.4/stable, Debian:testing [all])
Conf libmemcache-client-ruby (1.7.8-2 Debian:6.0.4/stable, Debian:testing [all])
Conf libtzinfo-ruby1.8 (0.3.19-1 Debian:6.0.4/stable, Debian:testing [all])
Conf libtzinfo-ruby (0.3.19-1 Debian:6.0.4/stable, Debian:testing [all])
Conf ruby-activesupport-2.3 (2.3.14-3 Debian:testing [all])
Conf ruby-activerecord-2.3 (2.3.14-1 Debian:testing [all])
Conf ruby-rack (1.4.0-1 Debian:testing [all])
Conf ruby-actionpack-2.3 (2.3.14-2 Debian:testing [all])
Conf ruby-text-format (1.0.0-3 Debian:testing [all])
Conf ruby-rchardet (1.3-2 Debian:testing [all])
Conf ruby-tmail (1.2.7.1-1 Debian:testing [amd64])
Conf ruby-actionmailer-2.3 (2.3.14-2 Debian:testing [all])
Conf ruby-activeresource-2.3 (2.3.14-1 Debian:testing [all])
Conf ruby-rails-2.3 (2.3.14-2 Debian:testing [all])
Conf rails (2.3.14.1 Debian:testing [all])

結局 Ruby は置き換わってしまったわけで。

2012年2月17日金曜日

Redmine 1.3.0! #06 Rails とか

Apt-Pinning

Railswheezy から借りてきたいなって。

sources.list

/etc/apt/sources.list はこうなっていた。

# deb http://ftp.jaist.ac.jp/pub/Linux/Debian/ squeeze main

deb http://ftp.jaist.ac.jp/pub/Linux/Debian/ squeeze main
deb-src http://ftp.jaist.ac.jp/pub/Linux/Debian/ squeeze main

deb http://security.debian.org/ squeeze/updates main
deb-src http://security.debian.org/ squeeze/updates main

# squeeze-updates, previously known as 'volatile'
deb http://ftp.jaist.ac.jp/pub/Linux/Debian/ squeeze-updates main
deb-src http://ftp.jaist.ac.jp/pub/Linux/Debian/ squeeze-updates main

特に理由は無いけれど main contrib non-free に変えておいてみたり。

/etc/apt/sources.list.d ってディレクトリがあるから,wheezy.sources.list とか名前をつけて放り込んでおくよ。

deb http://ftp.jaist.ac.jp/pub/Linux/Debian/ wheezy main contrib non-free
deb-src http://ftp.jaist.ac.jp/pub/Linux/Debian/ wheezy main contrib non-free

deb http://security.debian.org/ wheezy/updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free

Pinning

このままだとアレなので…。ええと,アレのサンプルなど。

$ sudo apt-get upgrade
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージは保留されます:
  apache2 apache2-mpm-prefork apache2-utils apache2.2-bin apache2.2-common apt
  apt-utils aptitude base-files bash bind9-host bsdmainutils bzip2
  ca-certificates console-setup coreutils dnsutils e2fslibs e2fsprogs exim4
  exim4-base exim4-daemon-light fbterm fontconfig-config gcc-4.4-base
  grub-common grub-pc initscripts iproute iputils-ping keyboard-configuration
  less libacl1 libapache2-mod-php5 libaprutil1 libaprutil1-dbd-sqlite3
  libaprutil1-ldap libattr1 libbz2-1.0 libcomerr2 libcwidget3 libdb4.8
  libdbd-mysql-perl libdbi-perl libedit2 libexpat1 libfontconfig1 libfreetype6
  libgcc1 libgcrypt11 libgdbm3 libgnutls26 libgpg-error0 libgpgme11 libgpm2
  libgssapi-krb5-2 libgssrpc4 libidn11 libk5crypto3 libkeyutils1 libkrb5-3
  libkrb5support0 libldap-2.4-2 liblocale-gettext-perl liblockfile1
  libncurses5 libncursesw5 libneon27-gnutls libnewt0.52 libpam-modules
  libpam0g libpci3 libpcre3 libpopt0 libreadline5 libreadline6 libsasl2-2
  libsasl2-modules libselinux1 libsepol1 libserf-0-0 libsigc++-2.0-0c2a
  libslang2 libss2 libstdc++6 libsvn-perl libsvn1 libtasn1-3
  libtext-charwidth-perl libtext-iconv-perl libudev0 libusb-0.1-4 libuuid-perl
  libwrap0 libx11-6 libx11-data libxapian22 libxau6 libxcb1 libxdmcp6 libxext6
  libxmuu1 libxslt1.1 linux-image-2.6-amd64 man-db mount mutt ncurses-bin
  nfs-common openssh-client openssh-server openssl pciutils perl perl-base
  perl-modules php5 php5-cli php5-common psmisc python python-apt
  python-minimal python-reportbug python-subversion python2.6
  python2.6-minimal reportbug rsyslog subversion sysvinit udev util-linux vim
  vim-common vim-runtime w3m wget xkb-data xz-utils
以下のパッケージはアップグレードされます:
  acpi acpi-support-base acpid adduser apt-listchanges at base-passwd
  bash-completion bc bsd-mailx bsdutils busybox cpio cron dash dc debconf
  debconf-i18n debian-faq debianutils diffutils discover dmidecode dmsetup
  dpkg eject exim4-config file findutils ftp geoip-database gettext-base gnupg
  gpgv grep groff-base gzip host hostname ifupdown info initramfs-tools
  insserv install-info installation-report iptables isc-dhcp-client
  isc-dhcp-common iso-codes kbd klibc-utils libapache2-svn libapr1 libblkid1
  libbsd0 libc-bin libc6 libc6-i386 libcap2 libconfig-inifiles-perl
  libdevmapper1.02.1 libdiscover2 libept1 libgc1c2 libgeoip1 libgssglue1
  libhtml-template-perl libklibc libmagic1 libmysqlclient16 libnet-daemon-perl
  libnfsidmap2 libpam-runtime libqdbm14 librpcsecgss3 libsqlite3-0 libssl0.9.8
  libtokyocabinet8 liburi-perl libuuid1 libxml2 linux-base locales login
  logrotate lsb-base lsb-release m4 manpages manpages-ja manpages-ja-dev mawk
  mime-support mlocate module-init-tools mysql-client-5.1 mysql-common
  mysql-server mysql-server-5.1 mysql-server-core-5.1 ncurses-base
  ncurses-term net-tools netbase netcat-traditional nkf os-prober passwd patch
  php5-suhosin popularity-contest procps python-apt-common python-central
  python-support readline-common rsync sed sensible-utils ssh subversion-tools
  sudo sysv-rc sysvinit-utils tar tasksel tasksel-data tcpd texinfo traceroute
  ttf-dejavu-core tzdata ucf whiptail whois xauth xsltproc
アップグレード: 137 個、新規インストール: 0 個、削除: 0 個、保留: 140 個。
80.6 MB のアーカイブを取得する必要があります。
この操作後に 16.5 MB のディスク容量が解放されます。
続行しますか [Y/n]? n

/etc/apt/preferences.d に,たとえば pinning とか名前をつけて。

Package: *
Pin: release n=wheezy
Pin-Priority: 110

れいるずっ!

ためしてみましょう。

$ sudo apt-get install -t wheezy rails
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の特別パッケージがインストールされます:
  binutils build-essential cpp cpp-4.6 dpkg-dev fakeroot g++ g++-4.6 gcc
  gcc-4.6 gcc-4.6-base javascript-common libalgorithm-diff-perl
  libalgorithm-diff-xs-perl libalgorithm-merge-perl libc-bin libc-dev-bin
  libc6 libc6-dev libc6-i386 libclass-isa-perl libdb5.1 libdbd-mysql-perl
  libdbi-perl libdpkg-perl libgcc1 libgmp10 libgomp1 libjs-prototype
  libjs-scriptaculous liblocale-gettext-perl libmemcache-client-ruby
  libmemcache-client-ruby1.8 libmpc2 libmpfr4 libmysqlclient16 libquadmath0
  libruby1.8 libssl1.0.0 libstdc++6 libstdc++6-4.6-dev libsvn-perl
  libswitch-perl libtext-charwidth-perl libtext-iconv-perl libtimedate-perl
  libtzinfo-ruby libtzinfo-ruby1.8 libuuid-perl linux-libc-dev locales make
  manpages-dev multiarch-support mysql-common perl perl-base perl-modules rake
  ruby ruby-actionmailer-2.3 ruby-actionpack-2.3 ruby-activerecord-2.3
  ruby-activeresource-2.3 ruby-activesupport-2.3 ruby-blankslate ruby-builder
  ruby-i18n ruby-rack ruby-rails-2.3 ruby-rchardet ruby-text-format ruby-tmail
  ruby1.8 ruby1.8-dev rubygems unzip wwwconfig-common zip
提案パッケージ:
  binutils-doc cpp-doc gcc-4.6-locales debian-keyring g++-multilib
  g++-4.6-multilib gcc-4.6-doc libstdc++6-4.6-dbg gcc-multilib autoconf
  automake1.9 libtool flex bison gdb gcc-doc gcc-4.6-multilib
  libmudflap0-4.6-dev libgcc1-dbg libgomp1-dbg libquadmath0-dbg
  libmudflap0-dbg binutils-gold glibc-doc libstdc++6-4.6-doc make-doc perl-doc
  libterm-readline-gnu-perl libterm-readline-perl-perl libpod-plainer-perl ri
  ruby-dev ruby1.8-examples ri1.8 postgresql-client
以下のパッケージが新たにインストールされます:
  binutils build-essential cpp cpp-4.6 dpkg-dev fakeroot g++ g++-4.6 gcc
  gcc-4.6 gcc-4.6-base javascript-common libalgorithm-diff-perl
  libalgorithm-diff-xs-perl libalgorithm-merge-perl libc-dev-bin libc6-dev
  libclass-isa-perl libdb5.1 libdpkg-perl libgmp10 libgomp1 libjs-prototype
  libjs-scriptaculous libmemcache-client-ruby libmemcache-client-ruby1.8
  libmpc2 libmpfr4 libquadmath0 libruby1.8 libssl1.0.0 libstdc++6-4.6-dev
  libswitch-perl libtimedate-perl libtzinfo-ruby libtzinfo-ruby1.8
  linux-libc-dev make manpages-dev multiarch-support rails rake ruby
  ruby-actionmailer-2.3 ruby-actionpack-2.3 ruby-activerecord-2.3
  ruby-activeresource-2.3 ruby-activesupport-2.3 ruby-blankslate ruby-builder
  ruby-i18n ruby-rack ruby-rails-2.3 ruby-rchardet ruby-text-format ruby-tmail
  ruby1.8 ruby1.8-dev rubygems unzip wwwconfig-common zip
以下のパッケージはアップグレードされます:
  libc-bin libc6 libc6-i386 libdbd-mysql-perl libdbi-perl libgcc1
  liblocale-gettext-perl libmysqlclient16 libstdc++6 libsvn-perl
  libtext-charwidth-perl libtext-iconv-perl libuuid-perl locales mysql-common
  perl perl-base perl-modules
アップグレード: 18 個、新規インストール: 62 個、削除: 0 個、保留: 259 個。
72.0 MB のアーカイブを取得する必要があります。
この操作後に追加で 123 MB のディスク容量が消費されます。
続行しますか [Y/n]? n

…だいじょうぶなのかなぁ?

libc6 っていってる…。アップグレード 18 + 保留 259 で,アップグレード 137 + 保留 140 と同じ……。これは wheezy を借りようとして wheezy にのっとられてないかな?

2012年2月14日火曜日

Redmine 1.3.0! #05_2 Subversion とか

さぶば~じょんをうごかしておく

りぽじとり

リポジトリは /var/lib/svn にほっていくよ。

/$ sudo mkdir /var/lib/svn
/$ cd /var/lib/svn
/var/lib/svn$ sudo svnadmin create --fs-type fsfs test_repos
/var/lib/svn$ sudo chown www-data:www-data test_repos/ -R

dav_svn

libapache2-svn をインストールしてあるから,すでに /etc/apache2/mods-enableddav_svn.confdav_svn.load のシンボリックリンクがあって。

こんな風に修正。

--- dav_svn.org.conf    2011-06-01 01:10:30.000000000 +0900
+++ dav_svn.conf        2012-02-14 16:52:46.000000000 +0900

@@ -10,17 +10,18 @@
 # URL controls how the repository appears to the outside world.
 # In this example clients access the repository as http://hostname/svn/
 # Note, a literal /svn should NOT exist in your document root.
-#<Location /svn>
+<Location /svn>

   # Uncomment this to enable the repository
-  #DAV svn
+  DAV svn

   # Set this to the path to your repository
   #SVNPath /var/lib/svn
   # Alternatively, use SVNParentPath if you have multiple repositories under
   # under a single directory (/var/lib/svn/repo1, /var/lib/svn/repo2, ...).
   # You need either SVNPath and SVNParentPath, but not both.
-  #SVNParentPath /var/lib/svn
+  SVNParentPath /var/lib/svn
+  SVNListParentPath On

   # Access control is done at 3 levels: (1) Apache authentication, via
   # any of several methods.  A "Basic Auth" section is commented out
@@ -37,9 +38,9 @@
   # manage the password file - and the documentation for the
   # 'auth_basic' and 'authn_file' modules, which you will need for this
   # (enable them with 'a2enmod').
-  #AuthType Basic

-  #AuthName "Subversion Repository"
-  #AuthUserFile /etc/apache2/dav_svn.passwd
+  AuthType Basic
+  AuthName "Subversion Repository"
+  AuthUserFile /etc/apache2/dav_svn.passwd

   # To enable authorization via mod_authz_svn
   #AuthzSVNAccessFile /etc/apache2/dav_svn.authz
@@ -47,8 +48,8 @@
   # The following three lines allow anonymous read, but make
   # committers authenticate themselves.  It requires the 'authz_user'
   # module (enable it with 'a2enmod').

-  #<LimitExcept GET PROPFIND OPTIONS REPORT>
-    #Require valid-user
-  #</LimitExcept>
+  <LimitExcept GET PROPFIND OPTIONS REPORT>
+    Require valid-user
+  </LimitExcept>

 #</Location>

ぱすわ~ど

をつくっておかないと。

/$ cd /etc/apache2/
/etc/apache2$ sudo htpasswd -c dav_svn.passwd wal_san
New password:
Re-type new password:
Adding password for user wal_san

a2enmod

/etc/apache2/mods-enabled ながめるかぎりいらなさそうなんだけれども。

$ sudo a2enmod dav_svn
Considering dependency dav for dav_svn:
Module dav already enabled
Module dav_svn already enabled
$ sudo a2enmod auth_basic
Module auth_basic already enabled
$ sudo a2enmod authn_file
Module authn_file already enabled
$ sudo a2enmod authz_user
Module authz_user already enabled

ほら,いらないぢゃん。

あとは,#/etc/init.d/apache2 restart すればいいはず。

$ sudo /etc/init.d/apache2 restart
apache2: Syntax error on line 204 of /etc/apache2/apache2.conf: Syntax error on line 13 of /etc/apache2/mods-enabled/dav_svn.conf: /etc/apache2/mods-enabled/dav_svn.conf:13: <Location> was not closed.
Action 'configtest' failed.
The Apache error log may have more information.
 failed!

…あれ?

…ああ,</Location> のコメントはずし忘れてるよ。

あとは,http://ip-address/svn/ でリポジトリが見えればおっけー。