Omnibus GitLabへの新しいソフトウェア定義の追加

GitLabに新しいコンポーネントを追加するには、以下の手順に従ってください:

  1. ビルド中のソフトウェアの取得とコンパイル
  2. ソフトウェア定義の依存関係を別のコンポーネントに追加します。

ビルド中のソフトウェアの取得とコンパイル

/config/softwareにあるソフトウェア定義は、omnibusがソフトウェアを取得する場所、コンパイル方法、必要なフォルダへのインストール方法を指定します。 この部分は、GitLab用のOmnibusパッケージをビルドするときに実行されます。

git から取得するコンポーネントを追加する際には、ローカルミラーとアップストリームのリポジトリのクローンアドレスを/.custom_sources.ymlに追加する必要があります。

ローカルミラーは、ディストリビューションチームのメンバーがhttps://dev.gitlab.org/omnibus-mirrorプロジェクトで作成する必要があります。omnibus-builder deploy key が有効になっている必要があります。

ソフトウェアサービスを含める方法については、ディレクトリ内の他のソフトウェアサービスを参照してください。

ライセンスの取り扱い

ほとんどのソフトウェアリポジトリにはライセンスファイルが含まれています。 明示的に含まれていない場合は、パッチファイルを使ってライセンスを追加してください。gempip などのパッケージマネージャを使ってインストールしたソフトウェアも、この方法を使う必要があります。

手動で追加したライセンスのパッチを作成し、config/patches/SOFTWARE_NAME/license/VERSION_NUMBER/add-license-file.patchという命名規則でディレクトリパスに保存します。

ライセンスはプロジェクトの存続期間中に変更される可能性があり、実際に変更されることがあります。 この方法では、手動インストールされたライセンスを確認するようコントリビューターに注意を促すため、意図的にビルドを失敗させます。 ライセンスが変更されていない場合、git mv VERSION_NUMBERパッチファイルを含むディレクトリを新しい. VERSION_NUMBER

ソフトウェア定義の依存関係を別のコンポーネントに追加します。

/config/projects/gitlab.rbにある GitLab プロジェクトの定義に、dependency の記述を追加します。より特定のコンポーネントがない限り、依存関係にする意味があります(例えば、gitlab-railsによってのみ必要とされるコンポーネントの場合はconfig/software/gitlab-rails.rb )。