ソフトウェアエンジニアリング - 機能 #54

Similar documents
OpenAM 9.5 インストールガイド オープンソース ソリューション テクノロジ ( 株 ) 更新日 : 2013 年 7 月 19 日 リビジョン : 1.8

ソフトウェアエンジニアリング - 機能 #14

目次 1. はじめに 本文書の目的 前提条件 略語 事前準備 ホスト名の名前解決 Linux 版パッケージ システム要件 ソフトウェア要件 パッケージ構成

SecureAssist Enterprise Portal アップグレードガイド Version 対応版 パッケージのダウンロード アップグレード全体の流れ アップグレード作業の詳細手順

Samba Install and Update Guide





Microsoft Word - 46流力・ANSS14リーフレット_final.docx

Helix Swarm2018.1アップグレード手順

目次 1. 動作環境チェック 動作必要環境 Java のインストール Java のインストール Firebird のインストール Firebird のインストール Adobe Reader のインストール

ソフトウェアエンジニアリング - バグ #7

OSSTechドキュメント

Apache2.2(mod_ssl) は ECDSA 鍵について非対応となっております 1-2. 証明書のインストール Apache(mod_ssl) への証明書のインストール方法について記述します 事前準備 事前準備として サーバ証明書 中間 CA 証明書を取得してください 事前準備

Microsoft Word - Lab5d-DB2組み込みSQL.doc

練習 4 ディレクトリにあるファイルを直接指定する (cat) cat コマンドを使う (% cat ファイル名 ) と ファイルの内容を表示できた ファイル名のところにパス名を使い ディレクトリ名 / ファイル名 のように指定すると ディレクトリ内にあるファイルを直接指定できる 1 % cat _

PostgreSQL Plus 管理者ガイド

はじめに 1. 概要本書では SuitePRO V3 にて提供している迷惑メールフィルタのバージョンアップ手順について案内しています なお この手順につきましては 迷惑メールフィルタ機能について オンラインマニュアルの内容通りに設定されていることを前提条件とします

OSSTechドキュメント

この時お使いの端末の.ssh ディレクトリ配下にある known_hosts ファイルから fx.cc.nagoya-u.ac.jp に関する行を削除して再度ログインを行って下さい

WebARENA SuitePRO V3 迷惑メールフィルタ バージョン切り戻しマニュアル 株式会社 NTTPC コミュニケーションズ WebARENA テクニカルサポート 1

3 ディストリビューション・パッケージからのインストール

Microsoft PowerPoint - 第5章補足-DB2組み込みSQL.ppt

第 3 回情報基礎演習 UNIX / Linux: ファイルシステム シェルを理解しよう! 谷口貴志 Panda に login し 情報基礎演習クラスの VDI から Ubuntu に接続し Linux に login した後, 左 上の Activity 端末のアイオン をクリック 端末 を立ち

3 パッケージからのインストール

演習に必要な

システムパッケージリリース情報-Version5.0.0pre

SVF Ver 環境設定 パッチについて

ソフトウェアエンジニアリング - 調査 #52

NFS On CLUSTERPRO for Linux

24th Embarcadero Developer Camp

OSSTechドキュメント

日医特定健康診査システム ORCA PROJECT Linux 対応版インストールマニュアル (Version 対応 ) Debian Etch 用 版 2008 年 10 月 31 日 Copyright (C) 2008 Japan Medical Association

Microsoft Word - nvsi_050090jp_oracle10g_vlm.doc

k_seminar_hands_on_for_linux_beginner.pptx

PowerPoint プレゼンテーション

Sharing the Development Database

Sophos Enterprise Console

Red Hat Enterprise Linuxのcron(8)デーモンにデフォルト定義されたtmpwatch命令の動作による、WebOTXのトラブル対処方法

スライド 1

appli_HPhi_install

目次 1. はじめに 本書対象者 PALRO のアプリケーションについて Ubuntu 8.04LTS の入手について Linux 上での開発環境の構築 事前準備 Ubuntu のインストール..

PowerPoint プレゼンテーション

Microsoft Word - VPN...[.U.K.C.hLinux doc

Solaris 10 10/08 OSにおける統合インストーラの注意事項

Helix Swarm2018.1インストール手順

CLUSTERPRO for Linux PostgreSQL HowTo

PIXUS MP510 PIXUS MP600 (2011 年 10 月現在 ) オールインワンで印刷機能をご利用いただくには プリンタドライバのインストールおよび設定が必要です Turbolinux Client 2008 プリンタスキャナドライバダウンロードサイトを参照ください

ヒント $basearch はYum であり いえればベースアーキテクチャです(32ビット 64ビットなど) 3. ファイルにがきまれたかをするには のコマンドをします cat /etc/yum.repos.d/r1soft.repo 1.2 パッケージをインストールする 1. インストールされてい

CLUSTERPRO for Linux MySQL HowTo

CLUSTERPRO MC StorageSaver istorage M シリーズ使用時の設定手順 (HP-UX 版 Linux 版 Windows 版 ) 2013(Apr) NEC Corporation istorage M シリーズを使用する場合の StorageSaver 設定手順 (H

ch2_android_2pri.indd

日医特定健康診査システム ORCA PROJECT Linux 対応版インストールマニュアル (Version 対応 ) Ubuntu Trusty 用 版 2017 年 2 月 23 日 Copyright (C) Japan Medical

別紙 : 検証環境の構築手順 ( 章 ) 1. サーバ設定 1.1 IP アドレス設定 サーバは以下の 6 台を用いる pgpool-ii サーバ 2 台 DB サーバ 3 台 上位サーバ 1 台 OS は全サーバで CentOS 6.4 x86_64 とする pgpool-ii のサー

HULFT Series 製品における Javaの脆弱性(CVE )に対する報告

Microsoft PowerPoint - Borland C++ Compilerの使用方法(v1.1).ppt [互換モード]

システムパッケージリリース情報-Version5.1.0

CLUSTERPRO MC StorageSaver istorage M シリーズ使用時の設定手順 (HP-UX 版 Linux 版 Windows 版 ) 2013(Sep) NEC Corporation istorage M シリーズを使用する場合の StorageSaver 設定手順 (H

国土数値情報 XML シェープ変換ツール 操作説明書 平成 23 年 7 月 国土交通省国土政策局

サポートニュース お知らせ Linux ゲートウェイ および Linux セキュリティのス キャナ (fsavd) が停止してしまう問題について ( 解決 ) 2015 年 01 月 26 日 12: 年 01 月 26 日 15:00 ( 更新 ) 2015 年 01 月 26 日

InstallShiled FAQ デバイスドライバーのインストール 注 ) このドキュメントは InstallShield 2011 Premier Edition を基に作成しています InstallShield 2011 以外のバージョンでは設定名などが異なる場合もあります 概要 Instal

Java インストール手順書 第六版 ( 社 ) 日本医師会

日レセプラグイン

目次 1 環境 バージョン インストール環境 インストール手順 前提条件 CentOS SSHD の設定 VSFTPD の設定 コンテンツ管理 CGI のイ

はじめに このドキュメントではftServerに関する障害調査を行う際に 必要となるログ データの取得方法を説明しています ログ データの取得には 初期解析用のデータの取得方法と 詳細な調査を行うときのデータ取得方法があります 特別な理由でOS 側のログが必要となった場合には RHELログの取得につ

intra-mart Accel Platform — OData for SAP HANA セットアップガイド   初版  

InterSafe_Sales_Guide

サーバー証明書 インストール手順-Apache

intra-mart ワークフローデザイナ

<MW-400k > InterSec/MW400k アップデート適用手順書 2017 年 8 月 1 版

Microsoft PowerPoint pptx

Microsoft PowerPoint - InfPro_I6.pptx

Server Backup Manager 5.0 Debian および Ubuntu システムへの Server Backup Free のインストール 1. APT-GET をしてServer Backup Free をインストールする 2. Server Backup Free のインストール

Nexus アプリケーション開発 - SDK

Rational Roseモデルの移行 マニュアル

IMC_31.ja.indd

目次 第 1 章はじめに... 3 第 2 章ネットワーク設定 DNS の設定 アウトバウンド HTTPS 接続の許可 アウトバウンド SMTP/POP 接続の許可... 4 第 3 章 JDK への追加ライブラリインストール

PowerPoint プレゼンテーション

Attain3 インストール説明書

Si 知識情報処理

DHCPサーバのクラスタ化

CLUSTERPRO MC RootDiskMonitor 2.3 for Windows インストールガイド 2018(Jun) NEC Corporation はじめに 製品導入の事前準備 本製品のインストール 本製品の初期設定 本製品のアンインストール 本製品のアップデートインストール

WebOTXマニュアル

NGSハンズオン講習会

エプソン社製スキャナドライバImage Scan! for Linux インストール手順

1

使用する前に

Java Bridgeを利用した他言語によるデータロード&プロットデモ

Eclipse マニュアル <作成目的> Eclipse のインストール方法などを紹介したページはいろいろありますが 専門用語がわからない初心者でもわか りやすく Eclipse のインストール方法 基本操作などをまとめたマニュアル作成を目的としています <目次> 1 Eclipse のインストール

Linux サーバー構築 LINUX サーバー構築目次... 1 第 1 章 LINUX のインストール... 6 第 1 節 CentOS とは... 6 第 1 項 CentOS とは... 6 第 2 節 CentOS インストールの準備... 6 第 1 項 iso ファイルの入手... 6

LetItB Installation Manual - Japanese version

改訂履歴 初版 2004 年 1 月 23 日 新規作成 2 版 2004 年 2 月 3 日 フォントの設定 を追加 3 版 2004 年 7 月 13 日 リソースファイルのダウンロード を追加 バージョン番号表記を変更 4 版 2005 年 11 月 21 日 リソースファイルのダウンロード

DBMSリポジトリへの移行マニュアル

システム管理者ガイド GIGAPOD 3 システム管理者ガイド - 負荷分散構成 第 1.01 版 2013 年 3 月 改訂履歴 No バージョン 日付 作成者 改訂者 補足 /09 トライポッドワークス 初稿 /03 トライポッドワークス cr

Microsoft Word - SQL Server 2005 セットアップ手順書.doc

PrintBarrierV3L50(V ) アップデート手順書 第 1.01 版 株式会社富士通アドバンストエンジニアリング 平成 25 年 3 月 7 日 1

WebSAM System Navigator JNS isadmin SNMP Trap 連携設定手順書 NEC 2012 年 12 月

Microsoft Word - ★ubuntuでns-2_Rev3.doc

Transcription:

ソフトウェアエンジニアリング - 機能 #54 GitBucket 3.11 の RPM を H2 database migration ツールを含めて作成する 2016/02/28 10:47 - 高橋徹 ステータス : 却下開始日 : 2016/02/28 優先度 : 通常期日 : 担当者 : 高橋徹進捗率 : 100% カテゴリ : 予定工数 : 0.00 時間 対象バージョン : Linux 作業時間 : 0.00 時間 説明 GitBucket 3.10 から 内蔵する H2 database のバージョンが 1.8 から 1.9 に変更されました それに伴い GitBucket 3.9 以前から 3.10 以降にアップデートするとデータベース ( スキーマ?) の不整合で起動できなくなってしまいます そこで h2 migration ツールを GitBucket PRM に含めます https://github.com/gitbucket/h2-migration RPM の修正事項は次のとおり h2 migration ツールを含める h2 migration スクリプトの修正 ( パス ) RPM パッケージインストール後のサービス起動を抑止 ( 参考 ) エラーメッセージは次です org.h2.jdbc.jdbcsqlexception: テーブル "ACTIVITY" が見つかりません Table "ACTIVITY" not found; SQL statement: select x2.x3, x2.x4, x2.x5, x2.x6, x2.x7, x2.x8, x2.x9, x2.x10 x6, x11.x14 as x5, x11.x15 as x4, x11.x16 as x8, x11.x17 as x10 (select x20."activity_date" as x12, x20."activity_type" as x13, x20."repository_name" as x15, x20."additional_info" as x16, x20 x18, x20."message" as x19 from "ACTIVITY" x20) x11 inner join ( x21."parent_repository_name" as x23, x21."default_branch" as x2 x21."origin_repository_name" as x26, x21."origin_user_name" as x21."private" as x29, x21."repository_name" as x30, x21."user_n x32, x21."last_activity_date" as x33 from "REPOSITORY" x21) x34 x34.x30) where x34.x29 =? order by x11.x17 desc limit 30) x2 [ at org.h2.message.dbexception.getjdbcsqlexception(dbexcepti :( 中略 ) at org.h2.jdbc.jdbcconnection.preparestatement(jdbcconnecti at com.mchange.v2.c3p0.impl.newproxyconnection.preparestate at scala.slick.jdbc.jdbcbackend$sessiondef$class.preparesta :( 後略 ) 関連するチケット : 関連している機能 #14: GitBucket 2.1 の RPM を作成する終了 2014/07/20 履歴 #1-2016/02/28 10:47 - 高橋徹 - 関連している機能 #14: GitBucket 2.1 の RPM を作成するを追加 #2-2016/02/28 13:37 - 高橋徹 - 説明を更新 H2 migration をダウンロードします GitHub に挙がっているので 手元にクローンするか ダウンロード (ZIP) します 今回はダウンロード h2-migration.zip 2018/07/21 1/6

この中は次のようなディレクトリ ファイル構成です h2-migration-master/ h2-migration-master/readme.md h2-migration-master/lib/ h2-migration-master/lib/h2-1.4.180.jar h2-migration-master/lib/h2-1.4.190.jar h2-migration-master/migration.sh これを丸ごと含めることとします なお migration.sh は デフォルトでは実行するユーザーの $HOME/.gitbucket 下にデータベースがある想定で記載されているのに修正をします (RPM ビルド時に patch で修正 ) また h2 database マイグレーションを実行する前に gitbucket を動かすとデータベースが壊れるとの注意があるので RPM パッケージをインストーサービスの自動起動は抑止します h2 migration の追加 作成する gitbucket の RPM スペックファイルに zip ファイルをソースとして定義します Source0: Source1: Source2: +Source3: BuildRoot: %{name}.war %{name}.init %{name}.conf h2-migration.zip %{_tmppath}/%{name}-%{version}-%{release}-root いままでは Source0~Source2 は アーカイブではなく単にファイルとしてコピーするだけなので 展開せずに (%prep セクションを定義いました 今回は アーカイブを展開してコピーする必要があるので 展開する記述が必要となります %prep セクションを定義し そこに %setup マクロで展開を指定します この %setup が分かりにくいので大分悩みました 一番分かりやすかっここです https://vinelinux.org/docs/vine6/making-rpm/setup-macro.html 勘違いしていたのは Source が複数あるときに %setup も複数書くと思ってましたが 実は 1 つのマクロで複数の Source 定義を展開するものでした Source0, Souce1, Souce2 はアーカイブではないので展開せず Source3 のみ展開します ただし 展開する先は作成する RPM パッケージ名にちなんだ名前としておく場合 次の記述となります %prep %setup -T -c -a 3 -T オプションは 続くオプションで明示的に指定しない Source は展開を抑制します 今回は Source3 だけ展開するので -T オプションを指定し 続くオプションで 3 を指定しています -c オプションは ディレクトリを作成しそこに cd してからソースを展開します デフォルトは <RPM パッケージ名 - バージョン > です -a N オプションは ディレクトリに cd してから (After)SourceN を展開します これによって次のように展開されるはずです rpm +-- BUILD : +-- gitbucket-3.11 : +-- h2-migration-master : +-- README.md : +-- migration.sh : +-- lib 2018/07/21 2/6

#3-2016/02/28 14:00 - 高橋徹 - ステータスを新規から進行中に変更 - 進捗率を 0 から 50 に変更 migration.sh の修正 デフォルトの migration.sh は gitbucket が $HOME/.gitbucket にある想定で書かれていました これを gitbucket ユーザーのホームディレクトリに変更します -export GITBUCKET_HOME=~ /.gitbucket +export GITBUCKET_HOME=~gitbucket また migration.sh を実行するカレントディレクトリが migration.sh のあるディレクトリにある前提で書かれていました これを どのディレクトリから migration.sh を実行しても動作するように変更します +cd $(cd $(dirname $0); pwd) RPM パッケージを作るときは このような修正は元のファイルを変更するのではなく パッチファイルとして別ファイルに記述し RPM パッケージ作成時にパッチ適用するのがお作法です そこで migration.sh の修正をパッチファイルに作成します work$ ls h2-migration-master work$ cp -pr h2-migratin-master h2-migration-master.orig work$ vi h2-migration-master/migration.sh : work$ diff -ur h2-migration-master.orig/ h2-migration-master > h2-migra この h2-migration-sh.patch を rpmbuild/sources にコピーします SPEC ファイルにパッチを記述します Source3: +Patch0: BuildRoot: h2-migration.zip h2-migration-sh.patch %{_tmppath}/%{name}-%{version}-%{release}-root %prep %setup -T -c -a 3 +%patch0 2018/07/21 3/6

#4-2016/02/28 14:02 - 高橋徹 RPM パッケージインストール時のサービス起動を抑制 %postun if [ "$1" -ge 1 ]; then - /sbin/service gitbucket restart > /dev/null 2>&1 +# /sbin/service gitbucket restart > /dev/null 2>&1 fi 将来的には復活させるので コメントアウトとしておきます としていたら RPM の案インストール時にこの部分がエラーとなってしまいました 行頭に # をつけてコメントアウトとするのはダメっぽいので 削除しておきます -%postun -if [ "$1" -ge 1 ]; then - /sbin/service gitbucket restart > /dev/null 2>&1 -fi また yum update で gitbucket 更新時は サービスを停止せずに更新後に再起動していたので yum updte 時もサービスを停止するように修正します %preun + /sbin/service gitbucket stop > /dev/null 2>&1 if [ "$1" = 0 ]; then - /sbin/service gitbucket stop > /dev/null 2>&1 /sbin/chkconfig --del gitbucket fi exit 0 #5-2016/02/28 20:59 - 高橋徹 h2 database のファイル名 2018/07/21 4/6

手元に残っている gitbucket の RPM パッケージで一番古いバージョンは 2.7 ですが これを実行すると h2 database のファイル da data.trace.db, test.mv.db というファイルが生成されます H2 database のバージョン 1.3 では database ファイルの名前は < 名前 >.h2.db でしたが バージョン 1.4 からは < 名前 今回は バージョン 1.4 以降でのマイグレーションなので data.mv.db の名前を処理対象とします -mv $GITBUCKET_HOME/data. h2.db $GITBUCKET_HOME/data.h2.db_$H2_SOURCE_VERSION +mv $GITBUCKET_HOME/data. mv.db $GITBUCKET_HOME/data.mv.db_$H2_SOURCE_VERSION #6-2016/02/28 21:32 - 高橋徹 動作確認 gitbucket 3.3-1 をインストールします # yum localinstall gitbucket-3.3-1.noarch.rpm gitbucket サービスを起動します # service gitbucket start gitbucket 上で適当に操作します ( ユーザー作成したりリポジトリ作成したり ) gitbucket サービスを停止し データベースファイルをバックアップします # service gitbucket stop # cp /var/lib/gitbucket/data.*.db. gitbucket 3.12-1 にアップデートします # yum localupdate gitbucket-3.12-1.noarch.rpm うーん gitbucket サービスが起動してしまっています gitbucket 3.3 の postun に restart があるからかもしれない 動作確認は失敗 2018/07/21 5/6

Powered by TCPDF (www.tcpdf.org) #7-2016/02/28 21:39 - 高橋徹 - ステータスを進行中から却下に変更 - 進捗率を 50 から 100 に変更 H2 migration ツールを gitbucket に含む方法は中止とします 2018/07/21 6/6