2015年7月15日水曜日

JavaFX Scene Builder 2.0.1 8u51-b16 をビルドする (Mac OS X)

ダウンロード


自分でビルドするのは面倒だという場合には、下記からダウンロードできます。

Mac OS X dmg

JavaFX Scene Builder 2.0.1_8u51-b16.dmg

Jar Files

JavaFX Scene Builder 2.0.1_8u51-b16.zip

* dmg 版には JRE 8u51 がバンドルされています。 (.app 化には AppBundler を使用)


Scenebuilder


Mac OS X で Scene Builder 8u51-b16 をビルドする


前提条件


ビルドには JDK 8u51, Apache Ant, Mercurial が必要です。

ソースコードのダウンロード

$ hg clone http://hg.openjdk.java.net/openjfx/8u-dev/rt/

ワーキングコピーを 8u51-b16 にアップデート

$ cd rt
$ hg update -C 8u51-b16

JDK を 8u51 に切り替える

$ export JAVA_HOME=`/usr/libexec/java_home -v 1.8.0_51`

ビルド

$ cd apps/scenebuilder
$ ant -Dplatforms.JDK_1.8.home=$JAVA_HOME jar

以上です。お疲れ様でした。


ライセンス


オラクル BSD ライセンス


OpenJDK
http://openjdk.java.net/

Apache Ant
http://ant.apache.org/

Mercurial
http://mercurial.selenic.com/


2015年5月28日木曜日

PostgreSQL 9.4 デフォルトデータディレクトリの変更 (Debian Jessie)

既存クラスタ(インストール時に作成されたクラスタ)を削除後、デフォルトデータディレクトリのパスを変更して、新規にクラスタを作成し直します。

例として、データディレクトリパスを /home/postgres に変更する場合を取り上げます。

(以下、root 権限での作業です。root になるなり、sudo 使うなりしてください。)





1. PostgreSQL クラスタ完全削除


$ pg_dropcluster --stop 9.4 main


2. データディレクトリ削除


$ rm -rf /var/lib/postgresql


3. データディレクトリのパスを変更


/etc/postgresql-common/createcluster.conf を開いて、data_directory を変更します。


修正箇所:
# Default data directory.
#data_directory = '/var/lib/postgresql/%v/%c'

変更後:
# Default data directory.
data_directory = '/home/postgres/%v/%c'


4. PostgreSQL 新規クラスタ作成


$ cd /home
$ pg_createcluster 9.4 main


5. データディレクトリの所有者とアクセス権の変更


$ # PostgreSQL インスタンス停止
$ /etc/init.d/postgresql stop
[ ok ] Stopping postgresql (via systemctl): postgresql.service.

$ # ディレクトリ移動
$ cd /home

$ # ディレクトリ所有者変更
$ chown -R postgres.postgres postgres/

$ # アクセス権変更
$ chmod 700 postgres/
$ cd postgres/
$ chmod 700 9.4/

$ # PostgreSQL インスタンス起動
$ /etc/init.d/postgresql start
[ ok ] Starting postgresql (via systemctl): postgresql.service.

以上です。


Debian
https://www.debian.org/

PostgreSQL
http://www.postgresql.org/


2015年5月13日水曜日

コマンドライン (CUI) から Android SDK をインストールする

Android SDK のダウンロード


以下のサイトより、お使いの OS 用のスタンドアロン版 Android SDK をダウンロードして解凍します。

https://developer.android.com/sdk/index.html


Android Robot

* The Android robot is reproduced or modified from work created and shared by Google and used according to terms described in the Creative Commons 3.0 Attribution License. [CC BY 3.0], via Wikimedia Commons


パス設定


Android SDK にパスを通します。

Linux を使用していて SDK を /home/jenkins/android-sdk-linux に解凍した場合、~/.profile (あるいは ~/.bash_profile) 等に、例えば、以下を追記することでパスを通すことができます。

export ANDROID_HOME=/home/jenkins/android-sdk-linux
export PATH=$PATH:${ANDROID_HOME}/platforms:${ANDROID_HOME}/tools


利用可能なプラットフォームを一気にインストールする (非推奨)


以下のようにして、利用可能なプラットフォームのほとんどすべて (Obsolete パッケージを除く) を一気にインストールすることができます。

$ android update sdk --no-ui

しかしながら、不要なパッケージもたくさんインストールされるので、かなり時間がかかります。
必要なパッケージのみ選んでインストールすることをお勧めします。


利用可能なパッケージのリストを取得する


下記のコマンドを使用することで、利用可能なすべてのパッケージを通し番号付で取得することができます。

$ android list sdk --all


パッケージを一つだけインストール


パッケージを一つだけインストールしたい場合には、下記のコマンドを使用します。

$ android update sdk --no-ui --all --filter <パッケージ番号>


複数パッケージのインストール


複数のパッケージをインストールする場合、パッケージ番号を複数、カンマ区切りで指定することができます。

$ android update sdk --no-ui --all --filter 1,2,3,...,n


ヘルプの参照方法


"--help" オプションを使用すると、利用可能なオプションの一覧が表示されます。

$ android --help list sdk

       Usage:
       android [global options] list sdk [action options]
       Global options:
  -h --help       : Help on a specific command.
  -v --verbose    : Verbose mode, shows errors, warnings and all messages.
     --clear-cache: Clear the SDK Manager repository manifest cache.
  -s --silent     : Silent mode, shows errors only.

                   Action "list sdk":
  Lists remote SDK repository.
Options:
  -o --obsolete  : Deprecated. Please use --all instead.
  -a --all       : Lists all available packages (including obsolete and
                   installed ones)
     --proxy-host: HTTP/HTTPS proxy host (overrides settings if defined)
     --proxy-port: HTTP/HTTPS proxy port (overrides settings if defined)
  -s --no-https  : Uses HTTP instead of HTTPS (the default) for downloads.
  -e --extended  : Displays extended details on each package
  -u --no-ui     : Displays list result on console (no GUI) [Default: true]

$ android --help update sdk

       Usage:
       android [global options] update sdk [action options]
       Global options:
  -h --help       : Help on a specific command.
  -v --verbose    : Verbose mode, shows errors, warnings and all messages.
     --clear-cache: Clear the SDK Manager repository manifest cache.
  -s --silent     : Silent mode, shows errors only.

                     Action "update sdk":
  Updates the SDK by suggesting new platforms to install if available.
Options:
     --proxy-port: HTTP/HTTPS proxy port (overrides settings if defined)
     --proxy-host: HTTP/HTTPS proxy host (overrides settings if defined)
  -s --no-https  : Uses HTTP instead of HTTPS (the default) for downloads.
  -a --all       : Includes all packages (such as obsolete and non-dependent
                   ones.)
  -f --force     : Forces replacement of a package or its parts, even if
                   something has been modified.
  -u --no-ui     : Updates from command-line (does not display the GUI)
  -p --obsolete  : Deprecated. Please use --all instead.
  -t --filter    : A filter that limits the update to the specified types of
                   packages in the form of a comma-separated list of
                   [platform, system-image, tool, platform-tool, doc, sample,
                   source]. This also accepts the identifiers returned by
                   'list sdk --extended'.
  -n --dry-mode  : Simulates the update but does not download or install
                   anything.


2015年5月6日水曜日

RhodeCode のフォーク Kallithea

RhodeCode は 2013 年にバージョン 2.0 が出るまでソフトウェア全体が GPLv3 の下に公開されており、ダウンロードすれば、機能的な制限なく利用することができました。

バージョン 2.0 からソフトウェアの一部が例外的に Business Source ライセンスへと変更され、利用制限(当初の制限は最大 20 ユーザーまで)がかけられることになりました。

つまり、GPLv3 と Business Source ライセンスの部分が併存するかたちとなりました。

RhodeCode はオープンソースとして公開されたこともあり、当然のように、他のオープンソースを利用し、コントリビューターたちからのパッチも受け入れていました。

今でも Google 検索すると見つかると思いますが、このライセンスの変更はコミュニティから問題をはらんだライセンスであるとして、反感を持って受け止められました。

大ブーイングですね。

そして、RhodeCode のライセンス変更を問題視していた Software Freedom Conservancy は RhodeCode をフォークして新たにソースコードマネージャー(以後、SCM と訳します)を作成することを決定します。


それが Kallithea です。





イメージを見るとカラーリングは違いますが、RhodeCode にそっくりですね。


今後は RhodeCode とは別な発展を遂げていくはずですが、大注目の SCM です。



RhodeCode は、その後ライセンスが何度か微妙に変更されたりして、今では個人がお気軽に利用できる SCM ではなくなってしまいました。



Kallithea
https://kallithea-scm.org/

RhodeCode
https://rhodecode.com/


2015年5月4日月曜日

Yosemite に Infinute Kind AppBundler をインストールする

ビルドには Xcode, JDK 7, Apache Ant, Mercurial が必要です。


ビルドしないで Jar ファイルだけほしいという場合には、下記リンクよりダウンロードできます。
http://download.tyye.net/appbundler/appbundler-1.0ea.jar


Bundle


1. ソースのダウンロード


 ~/sources $ hg clone https://bitbucket.org/infinitekind/appbundler


2. appbundler/build.xml を修正


この手順はスキップしてください!
(現在のバージョンでは build.xml を修正する必要はなくなりました。)

修正箇所:
<arg value="/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk"></arg>

変更後:
<arg value="/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk"></arg>


3. ビルドからインストールまでの処理を記述したスクリプトファイルを作成


 ~/sources $ touch build-appbundler.sh


できあがったファイルに下記を保存してください。

#!/bin/bash

PROJECTNAME=appbundler

setjdk17() {
    local COMMAND=/usr/libexec/java_home
    test -f $COMMAND && export JAVA_HOME=`$COMMAND -v 1.7`
    javac -version
}

set -e

SCRIPTDIR=$(cd $(dirname $BASH_SOURCE); pwd)
PROJECTROOT=$SCRIPTDIR/$PROJECTNAME

pushd $PROJECTROOT
setjdk17; ant clean package
popd

# お使いの環境に合わせて、ant のパスを変更してください。
if [ -d /Applications/apache-ant-* ]; then
    cp -v $PROJECTROOT/appbundler/bin/appbundler-*.jar \
        /Applications/apache-ant-*/lib
fi

set +e

Bash スクリプトをダウンロード:
http://download.tyye.net/appbundler/build_appbundler.sh


4. スクリプトを実行

 ~/sources $ . build-appbundler.sh


以上で、AppBundler を使用する準備が整いました。


The Infinite Kind
http://infinitekind.com/

Infinite Kind AppBundler
https://bitbucket.org/infinitekind/appbundler

Apache Ant
http://ant.apache.org/

Mercurial
http://mercurial.selenic.com/


JavaFX Scene Builder 2.0.1 8u45-b13 をビルドする (Mac OS X)

ダウンロード


自分でビルドするのは面倒だという場合には、下記からダウンロードできます。

Mac OS X dmg

JavaFX Scene Builder 2.0.1_8u45-b13.dmg

Jar Files

JavaFX Scene Builder 2.0.1_8u45-b13.zip

* dmg 版には JRE 8u45 がバンドルされています。 (.app 化には AppBundler を使用)


Scenebuilder


Mac OS X で Scene Builder 8u45-b13 をビルドする


前提条件


ビルドには JDK 8u45, Apache Ant, Mercurial が必要です。

ソースコードのダウンロード

$ hg clone http://hg.openjdk.java.net/openjfx/8u-dev/rt/

ワーキングコピーを 8u45-b13 にアップデート

$ cd rt
$ hg update -C 8u45-b13

JDK を 8u45 に切り替える

$ export JAVA_HOME=`/usr/libexec/java_home -v 1.8.0_45`

ビルド

$ cd apps/scenebuilder
$ ant -Dplatforms.JDK_1.8.home=$JAVA_HOME jar

以上です。お疲れ様でした。


ライセンス


オラクル BSD ライセンス


OpenJDK
http://openjdk.java.net/

Apache Ant
http://ant.apache.org/

Mercurial
http://mercurial.selenic.com/


CouchDB 開発支援ツール erica をインストールする (Windows)

CouchDB のアプリケーション開発支援ツールとしては Python 実装の couchapp が有名ですが、その後継ツールにあたるのが erica で、CouchDB 同様 Erlang で実装されています。

Windows に couchapp をインストールする場合、普通は Python のパッケージ管理ツールである pip を使いますが、解決しなければならない依存関係が多く、環境構築するのはかなり面倒です。

一方、erica の環境構築は couchapp に比べ、かなり簡単です。ビルドには CouchDB 付属の Erlang が使用できます。


前提条件


1. CouchDB のインストール (執筆時点では 1.6.1 が最新の安定版です。)


初期設定のままだと Program Files 以下の深い階層にインストールされ、かなり不便です。
C ドライブ直下にインストールパスを変更することをお勧めします。


2. Cygwin のインストール


erica のビルドに必要な make と、ついでに curl も入れましょう。


3. git のインストール


ソースコードの取得には git が必要です。インストールしていない場合には msysgit か Cygwin の git をインストールしてください。

git を使いたくない場合には、下記リンクより zip 形式でダウンロードすることもできます。
https://github.com/benoitc/erica/archive/master.zip


環境変数の登録


「システムのプロパティ」の「詳細設定」タブを開いて環境変数を登録します。

1. 変数 COUCHDB_HOME を追加して、値にインストールパスを設定


CouchDB を C ドライブ直下にインストールした場合は、値として C:\CouchDB を設定してください。




2. PATH 変数に %COUCHDB_HOME%\bin を追加





ソースコード取得とビルド


コマンドプロンプトを開いて、git でソースを取得した後、erica フォルダに移動して make でビルドします。

git clone https://github.com/benoitc/erica.git
cd erica
make


インストール


できあがった erica.cmd を %COUCHDB_HOME%\bin に移動します。
move erica.cmd %COUCHDB_HOME%\bin


お疲れ様でした。

以上で、erica を使用するための環境が整いました。

試しにコマンドプロンプトに erica と入力すると、コマンドオプション一覧が表示されるはずです。





CouchDB
http://couchdb.apache.org/

Erica
https://github.com/benoitc/erica

CouchApp
https://github.com/couchapp/couchapp

msysGit
https://msysgit.github.io/