Created attachment 168963 [details]
patch with update to 8.6.4
attached a patch for bring GitLab to its new major version 8.6.4.
Buildtests are done for 9.3, 10.0, 10.1, 10.2 and 10.3 amd64 and i386. Also a test installation works fine.
I asked Michael Fausten and Johannes Meixner for an update test from 8.5 to 8.6 because both have running instances. If the feedback is positive i will set the approval flag for the patch. Till then all the dependencies can be processed ;)
Building it right now, but here's something I stumbled over:
Satellites were removed prior to 8.6.4
So the line in Makefile to create them,
and the line in pkg-plist to bring them into the package,
Please add the new dependencies you've attached to this PR
to www/gitlab/Makefile RUN_DEPENDS.
Created attachment 168994 [details]
patch with update to 8.6.4 - v.2
Stumpled accross the missing dependencies some minutes ago. Must have messed up the incomming remove of PORTSDIR -.-
Now the patch is updated. I also removed the satellites directory. I keep this for backwards compatibility, but since 8.5 is the first version of GitLab in the portstree, there seems no need for this.
Of course there could be user migrating to FreeBSD-GitLab (i hope so ;)), but it is long enough deprecated.
((In reply to Torsten Zühlsdorff from comment #3)
The joy of sending private emails . . . ;-)
Can you please bump the Gemfile patch for
attr_encrypted, updated past Gitlab's Gemfile
and likewise carrierwave:
I suggest we use >= instead of ~>. While pessimistic versioning might be the more correct approach, given the way ports handle things we need to be able to live with dependencies being updated "at random".
Created attachment 169006 [details]
patch with update to 8.6.4 - v.3
Attached a patch which also covers the needed patches. I really had hoped, this is no longer needed, if gitlab is in the ports. :/
I also added a USE_RUBY=yes to allow a TEST with Ruby 2.2. The Issue Tracker states that there is support, while the documentation clearly say there is not. That is a bad situation. If the documentation is right gitlab is only available for people building their own ports and sticking with ruby 2.1. If not the documentation is wrong.
Please see the patch as a clear need-testing.
Git user need to be created with home directory defined with "/home/git" instead of "/usr/local/git"
Strange error, fails to build on current in poudriere:
===> Installing existing package /packages/All/rubygem-omniauth-cas3-1.1.3.txz
[cur-default] Installing rubygem-omniauth-cas3-1.1.3...
pkg-static: Missing dependency 'ruby21-gems'
Failed to install the following 1 package(s): /packages/All/rubygem-omniauth-cas3-1.1.3.txz
For full log see http://people.freebsd.org/~pi/logs/www__gitlab-cur-1460055039.txt
(In reply to Kurt Jaeger from comment #8)
> Strange error, fails to build on current in poudriere:
> ===> Installing existing package
> [cur-default] Installing rubygem-omniauth-cas3-1.1.3...
> pkg-static: Missing dependency 'ruby21-gems'
> Failed to install the following 1 package(s):
> For full log see
This seems unrelated, your rubygem-omniauth-cas3 package is somewhat strangely broken.
I re-rolled -cas3, seems to work now.
(In reply to miks.mikelsons from comment #6)
> Git user need to be created with home directory defined
> with "/home/git" instead of "/usr/local/git"
That is a good catch, but sadly not enforced by the port. It is done by /usr/ports/UIDs and need to changed there. I would like you to create a PR for this, so that the relevant person can cope with this! :)
Created attachment 169102 [details]
patch with update to 8.6.5
Update the patch to 8.6.5.
The patch itself works. But i'm still not sure, if it works correctly with Ruby 2.2.
I'm currently build it one my laptop in an clean environment to check this.
Testbuilds are all fine. Is is ready for the tree ? What about migration
from 8.5.x to this ? Any things a user has to consider ?
Is it possible to somehow include install instruction in port, so that do not depend on external url?
I also have some improvement/notes on install documentation. Where I need to put it?
Pull request on https://github.com/t-zuehlsdorff/gitlabhq/blob/8-6-docu/doc/install/installation-freebsd.md ?
(In reply to miks.mikelsons from comment #15)
> Is it possible to somehow include install instruction in port,
> so that do not depend on external url?
There is already in patch in work by xmj@. But i will handle this as seperate issue because the update did not depends on this.
Also there is work/communication with the GitLab community to get the documentation into upstream :)
> I also have some improvement/notes on install documentation.
> Where I need to put it?
> Pull request on https://github.com/t-zuehlsdorff/gitlabhq/blob/8-6-docu/doc/install/installation-freebsd.md ?
Yes, that is currently the right place, thank you! :)
@Kurt: the update is not tested fully. If done i will set the maintainer-approv flag to +. Without the flag please consider the patch as not ready and need test.
There is problem with gitlab starting on boot. I have same problem as mentioned there https://forums.freebsd.org/threads/54631/.
When starting with "service gitlab start" it's working, but not on boot.
(In reply to miks.mikelsons from comment #18)
> There is problem with gitlab starting on boot.
> I have same problem as mentioned there https://forums.freebsd.org/threads/54631/.
> When starting with "service gitlab start" it's working, but not on boot.
Mh, that is a good catch. I think this could be through a dependency to a running redis.
I will research how to add a runtime dependency to the rc script.
Thanks for the report!
Created attachment 169275 [details]
gitlab.in diff, removing linuxisms
I've been able to rewrite the Gitlab rc.d script such that a few of the Linuxisms are removed, and that does the dependency handling.
Further, I've been able to test both `service gitlab restart` and having the gitlab rc.d script executed on (jail) startup.
Miks, could you please take this diff (based on ports/head aka Gitlab 8.5.5) for a spin?
Comment on attachment 169102 [details]
patch with update to 8.6.5
I now approve the patch after getting multiple positive feedback! :)
The provided patch for handling the startup-error will be processed later, since it has nothing to do with the update itself.
A commit references this bug:
Date: Wed Apr 13 16:46:44 UTC 2016
New revision: 413219
www/gitlab: 8.5.5 -> 8.6.5
Submitted by: Torsten Zuehlsdorff <firstname.lastname@example.org> (maintainer)
Reviewed by: xmj, email@example.com
Keeping this PR open until https://bugs.freebsd.org/bugzilla/attachment.cgi?id=169275 is decided ?
(In reply to Johannes Jost Meixner from comment #20)
Your rc.d version is working correctly on server restart. Applied it on clean gitlab install.
(In reply to Torsten Zühlsdorff from comment #21)
Please, check my installation notes https://github.com/t-zuehlsdorff/gitlabhq/compare/8-6-docu...miks:8-6-docu.
IMO we need to make installation more streamlined, so after installation you only need to make/tweak your custom configs, not fighting to get gitlab running at all.
I noticed that for now gitlab is enforcing postgresql93 (because of databases/rubygem-pg).
Do I need to make patch for gitlab port or pull request for installation doc?
I created an own PR for the rc-problem. Every issue its ticket. :)
Thank you for the patch. It fixes the issue, but i think it is to invasive. Removing linuxisms is a good think, but it makes it even more complicate to staying in sync with upstream. I want to stay as close as possible to the source.
I took a quick look at your documentation improvements.
In short: the postgresql-catch is good, but the jail comment should be obsolete since 9.3. It could be 9.4 also, i'm not sure. There is no need for changing the home-dir or creating .ssh - this should be done automatically. Same for the uploads dir. If not this is a bug of the port and should be addressed by a PR. The bundle install is a nogo - the whole point of the port is to avoid this command because it causes various bad problems.
Where do you want to discuss the the points? Github, E-Mail or own PR? Just choose one and we will do it there. :)
I will close the PR since the update is there :)