Hi, in the light of gitorious closing and github being non-free, I was looking for options for self-hosting something similar to github myself and came across gitlab and looked into how hard it would be to package it...
TLDR; herculean efforts required To install version v7.8.3 locally in a Debian unstable environment I followed these instructions (minus manual compilation of git and ruby) which worked very well: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/installation.md On Wed, 17 Dec 2014 15:43:31 +0100 Andreas <nudgegoon...@hotmail.com> wrote: > the official omnibus packaging is as far as i know not suitable for the > debian distribution. correct. That "packaging" bundles a full chroot environment and puts it in /opt/gitlab/ > There are other efforts like Daniel Bäurers packaging which i took as the > base for my package, which i updated until 7.2. Maybe you take a look at > https://github.com/1and1/gitlab-dpkg/tree/wheezy-7-2-stable which is my > updated version of Daniels package (he stopped ad 6.5). Any update to my > package would require backporting ruby 2 to wheezy because we only use > wheezy/stable in production. Maybe this can help you a bit. The biggest > problem seems to be packaging of all the required gems. The database > initialization, and the possibility to use either MySQL or Postgres, and the > same (apache/nginx) is another problem. Database password and base init of > the users ist still hacky in Daniels and my package and not convinient yet. I think you indeed correctly identified the remaining issues. The d/rules of that packaging just runs `bundle install` to get all the required gems. This will download sources from the internet which must not happen during a Debian package build. Apparently gitlab depends on 206 ruby gems... this is just insane... Another problem I see is the version restriction. While upstream will happily just use bundler to install the exact version, the Debian package of gitlab will have to live with the version packaged in unstable which is often newer than the version used by gitlab. This might require intensive patching but I didn't look that deep yet. Ignoring the version restrictions out of its 206 dependencies I see the following 85 not being packaged for Debian yet: ace-rails-ap activeresource asana asciidoctor attr_required browser bundler cal-heatmap-rails carrierwave charlock_holmes connection_pool d3_rails default_value_for descendants_tracker devise-async doorkeeper dropzonejs-rails emoji enumerize escape_utils expression_parser faraday_middleware foreman gemnasium-gitlab-service gitlab_emoji gitlab-flowdock-git-hook gitlab_git gitlab-grack gitlab-grit gitlab-linguist gitlab_meta gitlab_omniauth-ldap gollum-grit_adapter gollum-lib grape grape-entity hipchat html-pipeline html-pipeline-gitlab http_parser.rb ice_nine jquery-atwho-rails jquery-scrollto-rails jquery-turbolinks libv8 mini_portile mousetrap-rails multi_json multi_xml newrelic_rpm nprogress-rails omniauth-gitlab omniauth-kerberos omniauth-multipassword omniauth-shibboleth org-ruby orm_adapter pyu-ruby-sasl rack-attack rack-mount rack-oauth2 rails_autolink rake raphael-rails rdoc redis-actionpack redis-rails request_store rubyntlm rugged rugments seed-fu select2-rails semantic-ui-sass simple_oauth slack-notifier state_machine therubyracer thread_safe timfel-krb5-auth underscore-rails unf_ext unicorn unicorn-worker-killer version_sorter And of the remaining 121 dependencies which are packaged in Debian, only 52 seem to have the same version as required by gitlab. So the other 69 differ and might require patching of gitlab to work well together with them. So if you want to have gitlab in Debian, you should probably join debian-r...@lists.debian.org, roll up your sleeves and seriously get on with packaging and patching gitlab itself. Given this humongous amount of work, I'll happily leave it at this analysis and rely on using bundler in a chroot for now. cheers, josch
signature.asc
Description: signature