Installing RhodeCode CE on FreeBSD?

Can anyone expand on the feasibility, or not, of installing RhodeCode CE on FreeBSD?

(sorry almost all the links are broken, below – it turns out that new users can’t post more than one link in a message)

This question has been [asked here before] (LINK), but that received a rather oblique answer, which seems to say ‘if it’s supported then it’s supported’, which isn’t really actionable.

The Linux installer doesn’t work on FreeBSD (it says ‘ERROR: Platform you are running on amd64-freebsd is not supported.’). That’s not astonishing, of course, but since it was written in Python there seemed a chance that, despite the name, the installer would be cross-platform.

There is a FreeBSD port. That seems hopeful (whoopee!), but that seems to be of version 1.7.2 (which I think is indeed the installed RhodeCode version, rather than, say a version of the port). Also, the port (ie, the packaging for FreeBSD) appears to have the status ‘unmaintained’, even though the last update was nominally 2019-08-14. Is v1.7.2 indeed as antique as it appears, by the way?; that is, should I completely rule out using this version?

There’s also a [2014 blog post] (LINK) which mentions a forthcoming (?) Nix port, and that Nix is supported on FreeBSD; I see a mention of Nix in the RhodeCode docs. But nothing step-by-step, and I don’t see rhodecode mentioned in macOS nixpkgs, for example.
I see [installation instructions for Nix] (LINK), but Nix [doesn’t (any longer?) work on FreeBSD] (LINK).

So I’m getting the impression that RhodeCode is at least well-intentioned towards FreeBSD, but I’m currently unable to find any very concrete advice, including any definitive statement that this won’t work. I’d like to experiment with RhodeCode on FreeBSD, but not if it means having to do something exotic (which is to say, hard to maintain in future).

Thanks for any pointers or advice.

Norman

Hi Norman,

Before i’ll post a longer answer, can you try installer with --skip-platform-check flag first?

See transcript below (it appears to be --ignore-platform-check, by the way). I’ve also include the file /tmp/rc-installer-2019-12-15-05-36-47-432569-H_Rk83.log at the bottom, rather than emailing it as the message suggests.

The exec format error appears to be associated with the file:

% file /home/vagrant/.rccontrol-profile/bin/rccontrol-self-init
/home/vagrant/.rccontrol-profile/bin/rccontrol-self-init: a /opt/rhodecode/store/px7dy0sx6xm8svfp135922f197rlnmb7-bash-4.4-p12/bin/bash -e script, ASCII text executable, with very long lines
$ head -2 $HOME/.rccontrol-profile/bin/rccontrol-self-init 
#! /opt/rhodecode/store/px7dy0sx6xm8svfp135922f197rlnmb7-bash-4.4-p12/bin/bash -e
export PATH='/opt/rhodecode/store/knh036i7g9ym8vq3qwdrnkxx4gxsjn0k-patchelf-0.9/bin:/opt/rhodecode/store/zmak627hfrf77m03djrdfixf9vq0wgbc-paxctl-0.9/bin:/opt/rhodecode/store/ivvnyfmxh9s78gvixbd3d6gmg8rzkn80-gcc-wrapper-7.3.0/bin:/opt/rhodecode/store/2n7ryk3xsy37gs0ipn9n69gs7lrf16rw-gcc-7.3.0/bin:/opt/rhodecode/store/k6y7km6jz2blpkqm4ac5l9hyjy3nz78l-glibc-2.26-131-bin/bin:/opt/rhodecode/store/3jcs5z9hrdii6w15appi92xr81g04c03-coreutils-8.29/bin:/opt/rhodecode/store/pm8byqgipplr7cl8h9dr3a0sx3y4l32l-binutils-wrapper-2.28.1/bin:

[blah blah – cropped, to get under 32000 characters]
:/opt/rhodecode/store/rhljl19rwy4ypl46nn8zsb9mcc6dzvbz-xz-5.2.3-bin/bin’${PATH:+’:’}$PATH

(ah, it looks like you’re using nix internally – stylish!).

I can trace the sequence of execs further if that would be useful.

In case its useful:

$ uname -a
FreeBSD freebsd 12.1-RELEASE-p1 FreeBSD 12.1-RELEASE-p1 GENERIC  amd64

This is running in a VM (managed by vagrant/Virtualbox) on macOS.

% ./RhodeCode-installer-linux-build20191112_1300 --ignore-platform-check
Ignoring the platform check is only intended for development!

Do you accept the RhodeCode Control license?
Press [Y] to accept license and [V] to view license text: y

 * Installation progress:  90%ELF binary type "0" not known.


EXCEPTION: OSError(8, 'Exec format error')

Please help us figure out what went wrong.

Send us the installation log
   /tmp/rc-installer-2019-12-15-05-36-47-432569-H_Rk83.log
to
   RhodeCode Support <support@rhodecode.com>

The file /tmp/rc-installer-2019-12-15-05-36-47-432569-H_Rk83.log is below:

2019-12-15 05:36:47,434 - rhodecode-installer - INFO - Detecting installer.
2019-12-15 05:36:47,434 - rhodecode-installer - INFO - Detected installer from system arguments.
2019-12-15 05:36:47,434 - rhodecode-installer - INFO - Detected installer: /home/vagrant/RhodeCode-installer-linux-build20191112_1300
2019-12-15 05:36:47,434 - rhodecode-installer - INFO - `amd64-freebsd` platform detected.
2019-12-15 05:36:47,434 - rhodecode-installer - INFO - Ignoring platform check.
2019-12-15 05:36:47,435 - rhodecode-installer - INFO - Warn user that installing as root is not recommended.
2019-12-15 05:36:47,435 - rhodecode-installer - INFO - Reading license from: License.txt
2019-12-15 05:36:47,435 - rhodecode-installer - DEBUG - Checking if installer is a zip file
2019-12-15 05:36:47,435 - rhodecode-installer - DEBUG - Pulling license from zip file.
2019-12-15 05:36:47,435 - rhodecode-installer - INFO - Is license already accepted?
2019-12-15 05:36:47,435 - rhodecode-installer - INFO - Ask to accept the license.
2019-12-15 05:36:48,858 - rhodecode-installer - DEBUG - When asked for license `y` was pressed
2019-12-15 05:36:48,858 - rhodecode-installer - INFO - License accepted.
2019-12-15 05:36:48,859 - rhodecode-installer - INFO - Saving accepted license locally.
2019-12-15 05:36:48,859 - rhodecode-installer - INFO - Ask to create /opt/rhodecode folder.
2019-12-15 05:36:48,859 - rhodecode-installer - INFO - `/opt/rhodecode` directory exists and its writable
2019-12-15 05:36:48,876 - rhodecode-installer - INFO - Extracting installer (`/home/vagrant/RhodeCode-installer-linux-build20191112_1300`) into `/tmp/rc-installer-SyOafq`.
2019-12-15 05:36:50,362 - rhodecode-installer - INFO - Installer extracted.
2019-12-15 05:36:50,363 - rhodecode-installer - INFO - Content is: ['License.txt', 'MANIFEST', 'RhodeCodeControl-1.23.3+i686-linux_build20191112_1300.info', 'RhodeCodeControl-1.23.3+i686-linux_build20191112_1300.tar.bz2', 'RhodeCodeControl-1.23.3+x86_64-linux_build20191112_1300.info', 'RhodeCodeControl-1.23.3+x86_64-linux_build20191112_1300.tar.bz2', '__main__.py', 'click', 'plumbum']
2019-12-15 05:36:50,363 - rhodecode-installer - INFO - Looking for RhodeCodeControl tarball
2019-12-15 05:36:50,363 - rhodecode-installer - INFO - Found RhodeCodeControl tarball: RhodeCodeControl-1.23.3+i686-linux_build20191112_1300.tar.bz2
2019-12-15 05:36:50,363 - rhodecode-installer - INFO - Checking availability of tar command
2019-12-15 05:36:50,385 - rhodecode-installer - INFO - Checking integrity of tarball using required bzip2 binary
2019-12-15 05:37:06,994 - rhodecode-installer - INFO - Extracting RhodeCodeControl tarball to /tmp/rc-installer-control-tTT6wD
2019-12-15 05:37:27,950 - rhodecode-installer - DEBUG - Reading control path from /tmp/rc-installer-control-tTT6wD/install_path
2019-12-15 05:37:27,950 - rhodecode-installer - INFO - Copying RhodeCode Control to store
2019-12-15 05:37:27,951 - rhodecode-installer - DEBUG - Store directory `/opt/rhodecode/store` successfully created
2019-12-15 05:37:27,952 - rhodecode-installer - DEBUG - Multiple processes started to copy RhodeCode Control to store
2019-12-15 05:37:27,980 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/01n6rplfb5i2zdjyfz75q27a8qh51axa-python2.7-responses-0.4.0', '/opt/rhodecode/store/01n6rplfb5i2zdjyfz75q27a8qh51axa-python2.7-responses-0.4.0')
2019-12-15 05:37:30,250 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/097d86jz9yy4fk8l1nrciripriz74sjf-binutils-2.28.1', '/opt/rhodecode/store/097d86jz9yy4fk8l1nrciripriz74sjf-binutils-2.28.1')
2019-12-15 05:37:30,397 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/0agvzqxbgf41cwkzj89v2apf09a1mc1n-glibc-2.26-131-dev', '/opt/rhodecode/store/0agvzqxbgf41cwkzj89v2apf09a1mc1n-glibc-2.26-131-dev')
2019-12-15 05:37:30,415 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/0b3avdw0af08vp77xzyk2qn8mi5njb7r-sqlite-3.23.1-bin', '/opt/rhodecode/store/0b3avdw0af08vp77xzyk2qn8mi5njb7r-sqlite-3.23.1-bin')
2019-12-15 05:37:31,194 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/1sjs1f1wrs7q3xzzjws04bw6d07jyvs1-perl-5.24.3', '/opt/rhodecode/store/1sjs1f1wrs7q3xzzjws04bw6d07jyvs1-perl-5.24.3')
2019-12-15 05:37:31,276 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/1zca2z336ak1hxnaivbqslv6wz0306hi-python2.7-requests-2.9.1', '/opt/rhodecode/store/1zca2z336ak1hxnaivbqslv6wz0306hi-python2.7-requests-2.9.1')
2019-12-15 05:37:31,295 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/27r70z246nw3magv8bgsr0l63gk50dgj-python2.7-funcsigs-1.0.2', '/opt/rhodecode/store/27r70z246nw3magv8bgsr0l63gk50dgj-python2.7-funcsigs-1.0.2')
2019-12-15 05:37:31,310 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/l2h29amw70g7fnhb0m81hr5554lxq27q-hook', '/opt/rhodecode/store/l2h29amw70g7fnhb0m81hr5554lxq27q-hook')
2019-12-15 05:37:31,330 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/2dbqgp62r3x10ns0jbq7crr4gd75jq7q-python2.7-enum34-1.1.6', '/opt/rhodecode/store/2dbqgp62r3x10ns0jbq7crr4gd75jq7q-python2.7-enum34-1.1.6')
2019-12-15 05:37:31,350 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/2sb1p2746j3ldyc0rs8mpp6dd9ddnj4z-acl-2.2.52', '/opt/rhodecode/store/2sb1p2746j3ldyc0rs8mpp6dd9ddnj4z-acl-2.2.52')
2019-12-15 05:37:31,425 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/2sskxa01z73mi99mps3gp9mc5fq6lld9-diffutils-3.6', '/opt/rhodecode/store/2sskxa01z73mi99mps3gp9mc5fq6lld9-diffutils-3.6')
2019-12-15 05:37:31,442 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/31s27r2xr5vdmvmjiq6g565np968akj5-python2.7-pytest-sugar-0.9.1', '/opt/rhodecode/store/31s27r2xr5vdmvmjiq6g565np968akj5-python2.7-pytest-sugar-0.9.1')
2019-12-15 05:37:31,468 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/3div5mgs5lgx046xsd4yhlf70n5s12xd-python2.7-pytest-cov-2.6.0', '/opt/rhodecode/store/3div5mgs5lgx046xsd4yhlf70n5s12xd-python2.7-pytest-cov-2.6.0')
2019-12-15 05:37:31,662 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/3jcs5z9hrdii6w15appi92xr81g04c03-coreutils-8.29', '/opt/rhodecode/store/3jcs5z9hrdii6w15appi92xr81g04c03-coreutils-8.29')
2019-12-15 05:37:31,755 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/4qywhy2yv5ha9xnik0ljrccidp1v2v9n-python2.7-cryptography-2.6.1', '/opt/rhodecode/store/4qywhy2yv5ha9xnik0ljrccidp1v2v9n-python2.7-cryptography-2.6.1')
2019-12-15 05:37:31,815 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/5jfk4dm648myz1ak645rhgmzdah7wva9-postgresql-9.6.10-lib', '/opt/rhodecode/store/5jfk4dm648myz1ak645rhgmzdah7wva9-postgresql-9.6.10-lib')
2019-12-15 05:37:31,852 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/6121ms0l6jys4hrsjjsdkdrh0sz2jna1-gzip-1.9', '/opt/rhodecode/store/6121ms0l6jys4hrsjjsdkdrh0sz2jna1-gzip-1.9')
2019-12-15 05:37:31,870 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/624g0ma1izc4k0z5yqqg9095ycg2nhfx-python2.7-meld3-1.0.2', '/opt/rhodecode/store/624g0ma1izc4k0z5yqqg9095ycg2nhfx-python2.7-meld3-1.0.2')
2019-12-15 05:37:31,944 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/7ml250vz80m6w78sr75hn9y912cr5l0z-python2.7-supervisor-4.0.3', '/opt/rhodecode/store/7ml250vz80m6w78sr75hn9y912cr5l0z-python2.7-supervisor-4.0.3')
2019-12-15 05:37:31,960 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/7vvv5yirb76b9if7grd5cm5mdd5dfmsv-python2.7-pytest-profiling-1.3.0', '/opt/rhodecode/store/7vvv5yirb76b9if7grd5cm5mdd5dfmsv-python2.7-pytest-profiling-1.3.0')
2019-12-15 05:37:31,989 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/8sz1nb0ppyg4gy7y1bldv9y4dvb6z0dq-python2.7-pycparser-2.19', '/opt/rhodecode/store/8sz1nb0ppyg4gy7y1bldv9y4dvb6z0dq-python2.7-pycparser-2.19')
2019-12-15 05:37:32,010 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/8v4c3n1z5ck4s20h55l23rcnv4vy69nc-python2.7-attrs-18.2.0', '/opt/rhodecode/store/8v4c3n1z5ck4s20h55l23rcnv4vy69nc-python2.7-attrs-18.2.0')
2019-12-15 05:37:32,027 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/9bw39ymsy4cvcxy983iy79f4s0sxb6an-python2.7-configobj-5.0.6', '/opt/rhodecode/store/9bw39ymsy4cvcxy983iy79f4s0sxb6an-python2.7-configobj-5.0.6')
2019-12-15 05:37:32,082 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/a2lc5xppg3n0aw4k6csmq9ghiiw6s87d-gnused-4.4', '/opt/rhodecode/store/a2lc5xppg3n0aw4k6csmq9ghiiw6s87d-gnused-4.4')
2019-12-15 05:37:32,100 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/9fd0hlgl8cygcg6q25my0jp0mgm53ybc-python2.7-cov-core-1.15.0', '/opt/rhodecode/store/9fd0hlgl8cygcg6q25my0jp0mgm53ybc-python2.7-cov-core-1.15.0')
2019-12-15 05:37:32,130 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/9qr1iqgc16bx137fkaamf00aj58xdgc1-libxml2-2.9.7', '/opt/rhodecode/store/9qr1iqgc16bx137fkaamf00aj58xdgc1-libxml2-2.9.7')
2019-12-15 05:37:32,151 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/9x6f8i60zspampn22zls8qlah8a6k3vh-python2.7-setuptools-38.4.0', '/opt/rhodecode/store/9x6f8i60zspampn22zls8qlah8a6k3vh-python2.7-setuptools-38.4.0')
2019-12-15 05:37:32,212 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/a2f45kqx96x2wbid0l7zblh332gyam6m-openssl-1.0.2p-dev', '/opt/rhodecode/store/a2f45kqx96x2wbid0l7zblh332gyam6m-openssl-1.0.2p-dev')
2019-12-15 05:37:32,234 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/as2rc43w0g1w294jmk3yi1ym58bcrwaw-python2.7-psycopg2-2.8.3', '/opt/rhodecode/store/as2rc43w0g1w294jmk3yi1ym58bcrwaw-python2.7-psycopg2-2.8.3')
2019-12-15 05:37:32,248 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/avl8sm9bj35jm5f8wsixkwcl124zmsln-bzip2-1.0.6.0.1-bin', '/opt/rhodecode/store/avl8sm9bj35jm5f8wsixkwcl124zmsln-bzip2-1.0.6.0.1-bin')
2019-12-15 05:37:32,287 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/b5y6q65l592yl7ajc7m15b4bmpz977qz-python2.7-pytest-timeout-1.3.2', '/opt/rhodecode/store/b5y6q65l592yl7ajc7m15b4bmpz977qz-python2.7-pytest-timeout-1.3.2')
2019-12-15 05:37:32,301 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/bh5jkwawyblphnrxbcyfmdw46gpdy1wn-ed-1.14.2', '/opt/rhodecode/store/bh5jkwawyblphnrxbcyfmdw46gpdy1wn-ed-1.14.2')
2019-12-15 05:37:32,337 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/bl2a4r39i0lf1imqddz7fk6zwgagv9il-python2.7-asn1crypto-0.24.0', '/opt/rhodecode/store/bl2a4r39i0lf1imqddz7fk6zwgagv9il-python2.7-asn1crypto-0.24.0')
2019-12-15 05:37:32,640 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/bq97a6blrb680x996c2aapycxidksxak-python2.7-more-itertools-5.0.0', '/opt/rhodecode/store/bq97a6blrb680x996c2aapycxidksxak-python2.7-more-itertools-5.0.0')
2019-12-15 05:37:32,640 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/byr5q550vq50lm6sciaiyah67askz1r6-python2.7-markupsafe-1.1.0', '/opt/rhodecode/store/byr5q550vq50lm6sciaiyah67askz1r6-python2.7-markupsafe-1.1.0')
2019-12-15 05:37:32,640 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/c7l4skigjqaxfgpqsdx9rgimbzsxmcnr-libffi-3.2.1', '/opt/rhodecode/store/c7l4skigjqaxfgpqsdx9rgimbzsxmcnr-libffi-3.2.1')
2019-12-15 05:37:32,640 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/ciwlhq3l354c40b909vpiv3p7nawsdx7-gcc-7.3.0-lib', '/opt/rhodecode/store/ciwlhq3l354c40b909vpiv3p7nawsdx7-gcc-7.3.0-lib')
2019-12-15 05:37:32,640 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/clgqlx1yk8d4vz4kd3mrn5h2bwrm86xl-python2.7-pathlib2-2.3.4', '/opt/rhodecode/store/clgqlx1yk8d4vz4kd3mrn5h2bwrm86xl-python2.7-pathlib2-2.3.4')
2019-12-15 05:37:32,648 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/cnagib797zrgi01ldm6nqshhn8l9gv4n-python2.7-sqlalchemy-1.1.18', '/opt/rhodecode/store/cnagib797zrgi01ldm6nqshhn8l9gv4n-python2.7-sqlalchemy-1.1.18')
2019-12-15 05:37:32,664 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/cv67ic3hi4prclkrr7yyj12mabk750fy-python2.7-cookies-2.2.1', '/opt/rhodecode/store/cv67ic3hi4prclkrr7yyj12mabk750fy-python2.7-cookies-2.2.1')
2019-12-15 05:37:32,702 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/d09sk3v5zx1kmq0785rhpvb3qdh730hd-python2.7-six-1.11.0', '/opt/rhodecode/store/d09sk3v5zx1kmq0785rhpvb3qdh730hd-python2.7-six-1.11.0')
2019-12-15 05:37:32,739 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/d3cx687brr4c5gk17fza9h2fif937iz9-python2.7-rhodecode-control-1.23.3', '/opt/rhodecode/store/d3cx687brr4c5gk17fza9h2fif937iz9-python2.7-rhodecode-control-1.23.3')
2019-12-15 05:37:32,756 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/dbrlb01v42w6vbgs3p7kn7z7js0hg9gw-attr-2.4.47', '/opt/rhodecode/store/dbrlb01v42w6vbgs3p7kn7z7js0hg9gw-attr-2.4.47')
2019-12-15 05:37:32,772 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/dmsylvrfb48fffrza9iq8kllcggpdd3h-python2.7-mock-1.0.1', '/opt/rhodecode/store/dmsylvrfb48fffrza9iq8kllcggpdd3h-python2.7-mock-1.0.1')
2019-12-15 05:37:32,821 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/f72zz12r80agzxx16fkp34vfmn8z3w1x-gdbm-1.14', '/opt/rhodecode/store/f72zz12r80agzxx16fkp34vfmn8z3w1x-gdbm-1.14')
2019-12-15 05:37:32,841 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/fgzi1zp3i1j6c8sx9y6a0fba487ndbln-python2.7-ipaddress-1.0.22', '/opt/rhodecode/store/fgzi1zp3i1j6c8sx9y6a0fba487ndbln-python2.7-ipaddress-1.0.22')
2019-12-15 05:37:32,856 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/g80mydmaccm8sambkswv3pxld8diff3r-bzip2-1.0.6.0.1', '/opt/rhodecode/store/g80mydmaccm8sambkswv3pxld8diff3r-bzip2-1.0.6.0.1')
2019-12-15 05:37:32,872 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/g8i1yxpwnllx2xlv6jvnvvxgw2rsh3ih-zlib-1.2.11-dev', '/opt/rhodecode/store/g8i1yxpwnllx2xlv6jvnvvxgw2rsh3ih-zlib-1.2.11-dev')
2019-12-15 05:37:32,901 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/g8kdyz23zsk93145g16v0v1phg0pim4m-libxml2-2.9.7-dev', '/opt/rhodecode/store/g8kdyz23zsk93145g16v0v1phg0pim4m-libxml2-2.9.7-dev')
2019-12-15 05:37:33,140 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/gjqlfzza33jbvkqsg6d7zsa07xvclwz4-python2.7-cython-0.28.5', '/opt/rhodecode/store/gjqlfzza33jbvkqsg6d7zsa07xvclwz4-python2.7-cython-0.28.5')
2019-12-15 05:37:33,237 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/gnk7yaynl4kkgz3f7knbrkaci5splnrm-gnutar-1.30', '/opt/rhodecode/store/gnk7yaynl4kkgz3f7knbrkaci5splnrm-gnutar-1.30')
2019-12-15 05:37:33,257 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/h97s8ngds3rvmx93yv01cavs2spxc84f-patch-2.7.6', '/opt/rhodecode/store/h97s8ngds3rvmx93yv01cavs2spxc84f-patch-2.7.6')
2019-12-15 05:37:33,863 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/hjd7i4riysw7pf4j8cfjbmj2nv96ba3d-ncurses-6.0-20171125', '/opt/rhodecode/store/hjd7i4riysw7pf4j8cfjbmj2nv96ba3d-ncurses-6.0-20171125')
2019-12-15 05:37:34,403 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/ikdx1cjsrkp3vmy5jxrkjxwj0npyzr9l-postgresql-9.6.10', '/opt/rhodecode/store/ikdx1cjsrkp3vmy5jxrkjxwj0npyzr9l-postgresql-9.6.10')
2019-12-15 05:37:34,431 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/inqxl63wb4nsdwz43fs4hksia8i0z7wv-python2.7-pysqlite-2.8.3', '/opt/rhodecode/store/inqxl63wb4nsdwz43fs4hksia8i0z7wv-python2.7-pysqlite-2.8.3')
2019-12-15 05:37:35,545 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/iqcjr5zfh48my0md5d64i552gj5vjmhb-python-2.7.15', '/opt/rhodecode/store/iqcjr5zfh48my0md5d64i552gj5vjmhb-python-2.7.15')
2019-12-15 05:37:35,565 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/ivli73b6cgg742gg7k7bhh7qjid4whid-python2.7-trafaret-0.5.3', '/opt/rhodecode/store/ivli73b6cgg742gg7k7bhh7qjid4whid-python2.7-trafaret-0.5.3')
2019-12-15 05:37:35,580 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/ivvnyfmxh9s78gvixbd3d6gmg8rzkn80-gcc-wrapper-7.3.0', '/opt/rhodecode/store/ivvnyfmxh9s78gvixbd3d6gmg8rzkn80-gcc-wrapper-7.3.0')
2019-12-15 05:37:35,600 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/j5mfyk9hqmm2d0dqvpqcj7h3qzj6dpfi-openssl-1.0.2p-bin', '/opt/rhodecode/store/j5mfyk9hqmm2d0dqvpqcj7h3qzj6dpfi-openssl-1.0.2p-bin')
2019-12-15 05:37:35,617 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/js34qfjc1md63xkag531pdblfjwpz5qd-python2.7-gprof2dot-2017.9.19', '/opt/rhodecode/store/js34qfjc1md63xkag531pdblfjwpz5qd-python2.7-gprof2dot-2017.9.19')
2019-12-15 05:37:35,654 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/k6y7km6jz2blpkqm4ac5l9hyjy3nz78l-glibc-2.26-131-bin', '/opt/rhodecode/store/k6y7km6jz2blpkqm4ac5l9hyjy3nz78l-glibc-2.26-131-bin')
2019-12-15 05:37:36,067 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/kjidm711v2964s71whmc9j5y57h4x4m7-glibc-2.26-131', '/opt/rhodecode/store/kjidm711v2964s71whmc9j5y57h4x4m7-glibc-2.26-131')
2019-12-15 05:37:36,085 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/km5385mnx7arzv51nxsm6acbjrqzx1a3-readline-6.3p08', '/opt/rhodecode/store/km5385mnx7arzv51nxsm6acbjrqzx1a3-readline-6.3p08')
2019-12-15 05:37:36,125 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/knh036i7g9ym8vq3qwdrnkxx4gxsjn0k-patchelf-0.9', '/opt/rhodecode/store/knh036i7g9ym8vq3qwdrnkxx4gxsjn0k-patchelf-0.9')
2019-12-15 05:37:36,147 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/l4jqx35298gi4xgk817jczw6nyk3gpyh-sqlite-3.23.1-dev', '/opt/rhodecode/store/l4jqx35298gi4xgk817jczw6nyk3gpyh-sqlite-3.23.1-dev')
2019-12-15 05:37:36,186 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/l73bkh8014z292avam3apnfxm1dwi7pq-python2.7-cffi-1.12.2', '/opt/rhodecode/store/l73bkh8014z292avam3apnfxm1dwi7pq-python2.7-cffi-1.12.2')
2019-12-15 05:37:36,488 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/lial8c03isb6rnbxldhlbmj9vfk5sanw-db-5.3.28', '/opt/rhodecode/store/lial8c03isb6rnbxldhlbmj9vfk5sanw-db-5.3.28')
2019-12-15 05:37:36,488 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/ljgl43qrfszrlcmafva3yg0azbib99yi-findutils-4.6.0', '/opt/rhodecode/store/ljgl43qrfszrlcmafva3yg0azbib99yi-findutils-4.6.0')
2019-12-15 05:37:36,488 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/nfczz4whvifl3ly6n4gzf8qcfmxms6cy-sqlite-3.23.1', '/opt/rhodecode/store/nfczz4whvifl3ly6n4gzf8qcfmxms6cy-sqlite-3.23.1')
2019-12-15 05:37:36,488 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/plll01msln85i931hr8s50z5474l8ixg-python2.7-psutil-5.5.1', '/opt/rhodecode/store/plll01msln85i931hr8s50z5474l8ixg-python2.7-psutil-5.5.1')
2019-12-15 05:37:36,488 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/pm8byqgipplr7cl8h9dr3a0sx3y4l32l-binutils-wrapper-2.28.1', '/opt/rhodecode/store/pm8byqgipplr7cl8h9dr3a0sx3y4l32l-binutils-wrapper-2.28.1')
2019-12-15 05:37:36,488 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/pmf87pwnlbas149cfay2cmah7y5fk41w-openssl-1.0.2p', '/opt/rhodecode/store/pmf87pwnlbas149cfay2cmah7y5fk41w-openssl-1.0.2p')
2019-12-15 05:37:36,488 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/psvs2766frjv1zf5ya6wl10vinp2ygm8-python2.7-atomicwrites-1.2.1', '/opt/rhodecode/store/psvs2766frjv1zf5ya6wl10vinp2ygm8-python2.7-atomicwrites-1.2.1')
2019-12-15 05:37:36,498 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/px7dy0sx6xm8svfp135922f197rlnmb7-bash-4.4-p12', '/opt/rhodecode/store/px7dy0sx6xm8svfp135922f197rlnmb7-bash-4.4-p12')
2019-12-15 05:37:36,514 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/q8qdlr3ki21hr9zfq2zsm47lnza8ip30-python2.7-semantic-version-2.6.0', '/opt/rhodecode/store/q8qdlr3ki21hr9zfq2zsm47lnza8ip30-python2.7-semantic-version-2.6.0')
2019-12-15 05:37:36,527 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/qfjx6i5ppqir7i1snnxlxd35rq7rm9gh-expand-response-params', '/opt/rhodecode/store/qfjx6i5ppqir7i1snnxlxd35rq7rm9gh-expand-response-params')
2019-12-15 05:37:36,547 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/qi4l17b097l4692zh4wm84xchicd2dr0-libossp-uuid-1.6.2', '/opt/rhodecode/store/qi4l17b097l4692zh4wm84xchicd2dr0-libossp-uuid-1.6.2')
2019-12-15 05:37:36,846 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/qxy93sxrdgw2sbvpsf8jhc48lcn9lglp-linux-headers-4.15', '/opt/rhodecode/store/qxy93sxrdgw2sbvpsf8jhc48lcn9lglp-linux-headers-4.15')
2019-12-15 05:37:36,862 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/rhljl19rwy4ypl46nn8zsb9mcc6dzvbz-xz-5.2.3-bin', '/opt/rhodecode/store/rhljl19rwy4ypl46nn8zsb9mcc6dzvbz-xz-5.2.3-bin')
2019-12-15 05:37:36,878 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/rxcjw8p99a6h2xd4fpyb52rqipc75bn4-python2.7-pytest-runner-4.2', '/opt/rhodecode/store/rxcjw8p99a6h2xd4fpyb52rqipc75bn4-python2.7-pytest-runner-4.2')
2019-12-15 05:37:36,898 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/s4cxkg5zkcg43bg4l2cxvwxr2fhpf181-pcre-8.41', '/opt/rhodecode/store/s4cxkg5zkcg43bg4l2cxvwxr2fhpf181-pcre-8.41')
2019-12-15 05:37:36,921 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/s6rxg6whp5kywvh936l3my3bya1ivk9r-xz-5.2.3', '/opt/rhodecode/store/s6rxg6whp5kywvh936l3my3bya1ivk9r-xz-5.2.3')
2019-12-15 05:37:36,947 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/s87ymyzpj8if4li1k5vj1n8vnhaz740d-python2.7-mysql-python-1.2.5', '/opt/rhodecode/store/s87ymyzpj8if4li1k5vj1n8vnhaz740d-python2.7-mysql-python-1.2.5')
2019-12-15 05:37:37,028 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/sapc9a2jsc4iklmkkkj0zdjrsszi449i-gnumake-4.2.1', '/opt/rhodecode/store/sapc9a2jsc4iklmkkkj0zdjrsszi449i-gnumake-4.2.1')
2019-12-15 05:37:37,098 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/svvwn3bkfdjx5k2syr3rirfcy66ypifm-gnugrep-3.1', '/opt/rhodecode/store/svvwn3bkfdjx5k2syr3rirfcy66ypifm-gnugrep-3.1')
2019-12-15 05:37:37,155 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/v1c2vdqp2wvp7hggqhiqbbp3qb2x85dh-python2.7-mako-1.0.7', '/opt/rhodecode/store/v1c2vdqp2wvp7hggqhiqbbp3qb2x85dh-python2.7-mako-1.0.7')
2019-12-15 05:37:37,191 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/v6i8ix2mf5srga5fvjag3h6j686689hs-python2.7-py-1.6.0', '/opt/rhodecode/store/v6i8ix2mf5srga5fvjag3h6j686689hs-python2.7-py-1.6.0')
2019-12-15 05:37:37,222 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/v9hikq8sz52knklv4md8rb68rg2cp1y9-mariadb-connector-c-2.3.4', '/opt/rhodecode/store/v9hikq8sz52knklv4md8rb68rg2cp1y9-mariadb-connector-c-2.3.4')
2019-12-15 05:37:37,263 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/vma7xd3jdri5354xchwml6fbcw3h9gir-python2.7-pluggy-0.11.0', '/opt/rhodecode/store/vma7xd3jdri5354xchwml6fbcw3h9gir-python2.7-pluggy-0.11.0')
2019-12-15 05:37:37,425 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/wb43kpnxmbxm2ipplv706706r68grs26-python2.7-bootstrapped-pip-9.0.1', '/opt/rhodecode/store/wb43kpnxmbxm2ipplv706706r68grs26-python2.7-bootstrapped-pip-9.0.1')
2019-12-15 05:37:37,442 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/x35pq1fmgz08m2naf0hwg8infywbwjzc-libxml2-2.9.7-bin', '/opt/rhodecode/store/x35pq1fmgz08m2naf0hwg8infywbwjzc-libxml2-2.9.7-bin')
2019-12-15 05:37:37,457 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/x7cp49ar5z46anvamgn1kxlqxyzgq81m-python2.7-termcolor-1.1.0', '/opt/rhodecode/store/x7cp49ar5z46anvamgn1kxlqxyzgq81m-python2.7-termcolor-1.1.0')
2019-12-15 05:37:37,475 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/xnbdskgirrncnxhdiz1zn0fliwkigm0a-zlib-1.2.11', '/opt/rhodecode/store/xnbdskgirrncnxhdiz1zn0fliwkigm0a-zlib-1.2.11')
2019-12-15 05:37:37,557 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/y7fyp6kmfv6in3aa53fykmvmzr3avghl-gawk-4.2.0', '/opt/rhodecode/store/y7fyp6kmfv6in3aa53fykmvmzr3avghl-gawk-4.2.0')
2019-12-15 05:37:37,597 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/ygd1cj2snfpp56ps380jb6hjprzfs6fz-python2.7-click-7.0', '/opt/rhodecode/store/ygd1cj2snfpp56ps380jb6hjprzfs6fz-python2.7-click-7.0')
2019-12-15 05:37:37,659 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/z1rp1v5dnq49x2aw3nxxacfkiy9yam0k-python2.7-pytest-3.8.2', '/opt/rhodecode/store/z1rp1v5dnq49x2aw3nxxacfkiy9yam0k-python2.7-pytest-3.8.2')
2019-12-15 05:37:37,675 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/zk9sr0bqw3647r1p6xmdx4kwsrdh6k1g-python2.7-scandir-1.10.0', '/opt/rhodecode/store/zk9sr0bqw3647r1p6xmdx4kwsrdh6k1g-python2.7-scandir-1.10.0')
2019-12-15 05:37:37,690 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/zmak627hfrf77m03djrdfixf9vq0wgbc-paxctl-0.9', '/opt/rhodecode/store/zmak627hfrf77m03djrdfixf9vq0wgbc-paxctl-0.9')
2019-12-15 05:37:37,725 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/zngfdxnrslcdxp5pwcbq5pq9q6q4n2xp-python2.7-coverage-4.5.3', '/opt/rhodecode/store/zngfdxnrslcdxp5pwcbq5pq9q6q4n2xp-python2.7-coverage-4.5.3')
2019-12-15 05:37:38,048 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-control-tTT6wD/store/zszb4mf2jxx4gba0l77yv77mya79pw0x-libxml2-2.9.7-py', '/opt/rhodecode/store/zszb4mf2jxx4gba0l77yv77mya79pw0x-libxml2-2.9.7-py')
2019-12-15 05:37:38,048 - rhodecode-installer - INFO - RhodeCode Control copied.
2019-12-15 05:37:38,048 - rhodecode-installer - INFO - Linking RhodeCode Control profile path to '/opt/rhodecode/store/d3cx687brr4c5gk17fza9h2fif937iz9-python2.7-rhodecode-control-1.23.3'
2019-12-15 05:37:38,056 - rhodecode-installer - DEBUG - Linking new profile path to /home/vagrant/.rccontrol-profile
2019-12-15 05:37:38,375 - rhodecode-installer - DEBUG - Hooking into /home/vagrant/.profile
2019-12-15 05:37:38,379 - rhodecode-installer - DEBUG - Modified `/home/vagrant/.profile` and hooking up RhodeCode Control in console.
2019-12-15 05:37:38,704 - rhodecode-installer - INFO - Copying bundled applications over to '/home/vagrant/.rccontrol/cache': 
2019-12-15 05:37:38,704 - rhodecode-installer - DEBUG - Creating '/home/vagrant/.rccontrol' folder.
2019-12-15 05:37:38,705 - rhodecode-installer - DEBUG - Creating '/home/vagrant/.rccontrol/cache' folder.
2019-12-15 05:37:38,705 - rhodecode-installer - DEBUG - Multiple processes started to copy bundled apps to cache
2019-12-15 05:37:38,728 - rhodecode-installer - DEBUG - (2, '/tmp/rc-installer-SyOafq/MANIFEST', '/home/vagrant/.rccontrol/cache/MANIFEST')
2019-12-15 05:37:38,728 - rhodecode-installer - INFO - Bundled applications copied to cache.
2019-12-15 05:37:39,360 - rhodecode-installer - INFO - Creating supervisord configuration
2019-12-15 05:37:39,628 - rhodecode-installer - DEBUG - Running command: /home/vagrant/.rccontrol-profile/bin/rccontrol-self-init
2019-12-15 05:37:39,685 - rhodecode-installer - ERROR - OSError(8, 'Exec format error')
Traceback (most recent call last):
  File "./RhodeCode-installer-linux-build20191112_1300/__main__.py", line 666, in main
    create_supervisor_configuration()
  File "./RhodeCode-installer-linux-build20191112_1300/__main__.py", line 578, in create_supervisor_configuration
    stderr=subprocess.PIPE,
  File "/usr/local/lib/python2.7/subprocess.py", line 394, in __init__
    errread, errwrite)
  File "/usr/local/lib/python2.7/subprocess.py", line 1047, in _execute_child
    raise child_exception
OSError: [Errno 8] Exec format error
2019-12-15 05:37:39,692 - rhodecode-installer - INFO - Removing temporary path: /tmp/rc-installer-SyOafq
2019-12-15 05:37:39,697 - rhodecode-installer - INFO - Removing temporary path: /tmp/rc-installer-control-tTT6wD

Ok, so it seems we’d need to pre-build on FreeBSD and produce installer binaries for that OS.
Not sure if we can add this anytime soon, but yes we use NIX, i think instead of using the installer you could try actually using NIX and building it from source.

Here’s latest dev instructions how to do it::

Setup Nix Package Manager
-------------------------

To install the Nix Package Manager, please run::

   $ curl https://nixos.org/releases/nix/nix-2.0.4/install | sh

or go to https://nixos.org/nix/ and follow the installation instructions.
Once this is correctly set up on your system, you should be able to use the
following commands:

* `nix-env`

* `nix-shell`


.. tip::

   Update your channels frequently by running ``nix-channel --update``.

.. note::

   To uninstall nix run the following:

    remove the . "$HOME/.nix-profile/etc/profile.d/nix.sh" line in your ~/.profile or ~/.bash_profile
    rm -rf $HOME/{.nix-channels,.nix-defexpr,.nix-profile,.config/nixpkgs}
    sudo rm -rf /nix

Switch nix to the latest STABLE channel
---------------------------------------

run::

   nix-channel --add https://nixos.org/channels/nixos-18.03 nixpkgs

Followed by::

   nix-channel --update
   nix-env -i nix-2.0.4


Install required binaries
-------------------------

We need some handy tools first.

run::

    nix-env -i nix-prefetch-hg
    nix-env -i nix-prefetch-git


Speed up JS build by installing PhantomJS
-----------------------------------------

PhantomJS will be downloaded each time nix-shell is invoked. To speed this by
setting already downloaded version do this::

    nix-env -i phantomjs-2.1.1

    # and set nix bin path
    export PATH=$PATH:~/.nix-profile/bin


Clone the required repositories
-------------------------------

After Nix is set up, clone the RhodeCode Enterprise Community Edition and
RhodeCode VCSServer repositories into the same directory.
RhodeCode currently is using Mercurial Version Control System, please make sure
you have it installed before continuing.

To obtain the required sources, use the following commands::

    mkdir rhodecode-develop && cd rhodecode-develop
    hg clone -u default https://code.rhodecode.com/rhodecode-enterprise-ce
    hg clone -u default https://code.rhodecode.com/rhodecode-vcsserver

.. note::

   If you cannot clone the repository, please contact us via support@rhodecode.com


Install some required libraries
-------------------------------

There are some required drivers and dev libraries that we need to install to
test RhodeCode under different types of databases. For example in Ubuntu we
need to install the following.

required libraries::

    # svn related
    sudo apt-get install libapr1-dev libaprutil1-dev
    sudo apt-get install libsvn-dev
    # libcurl required too
    sudo apt-get install libcurl4-openssl-dev
    # mysql/pg server for development, optional
    sudo apt-get install mysql-server libmysqlclient-dev
    sudo apt-get install postgresql postgresql-contrib libpq-dev



Enter the Development Shell
---------------------------

The final step is to start the development shells. To do this, run the
following command from inside the cloned repository::

   # first, the vcsserver
   cd ~/rhodecode-vcsserver
   nix-shell

   # then enterprise sources
   cd ~/rhodecode-enterprise-ce
   nix-shell

.. note::

   On the first run, this will take a while to download and optionally compile
   a few things. The following runs will be faster. The development shell works
   fine on both MacOS and Linux platforms.


Create config.nix for development
---------------------------------

In order to run proper tests and setup linking across projects, a config.nix
file needs to be setup::

    # create config
    mkdir -p ~/.nixpkgs
    touch ~/.nixpkgs/config.nix

    # put the below content into the ~/.nixpkgs/config.nix file
    # adjusts, the path to where you cloned your repositories.

    {
      rc = {
       sources = {
        rhodecode-vcsserver = "/home/dev/rhodecode-vcsserver";
        rhodecode-enterprise-ce = "/home/dev/rhodecode-enterprise-ce";
        rhodecode-enterprise-ee = "/home/dev/rhodecode-enterprise-ee";
       };
      };
    }



Creating a Development Configuration
------------------------------------

To create a development environment for RhodeCode Enterprise,
use the following steps:

1. Create a copy of vcsserver config:
    `cp ~/rhodecode-vcsserver/configs/development.ini ~/rhodecode-vcsserver/configs/dev.ini`
2. Create a copy of rhodocode config:
    `cp ~/rhodecode-enterprise-ce/configs/development.ini ~/rhodecode-enterprise-ce/configs/dev.ini`
3. Adjust the configuration settings to your needs if needed.

.. note::

  It is recommended to use the name `dev.ini` since it's included in .hgignore file.


Setup the Development Database
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

To create a development database, use the following example. This is a one
time operation executed from the nix-shell of rhodecode-enterprise-ce sources ::

    rc-setup-app dev.ini \
        --user=admin --password=secret \
        --email=admin@example.com \
        --repos=~/my_dev_repos


Compile CSS and JavaScript
^^^^^^^^^^^^^^^^^^^^^^^^^^

To use the application's frontend and prepare it for production deployment,
you will need to compile the CSS and JavaScript with Grunt.
This is easily done from within the nix-shell using the following command::

    make web-build

When developing new features you will need to recompile following any
changes made to the CSS or JavaScript files when developing the code::

    grunt watch

This prepares the development (with comments/whitespace) versions of files.

Start the Development Servers
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

From the rhodecode-vcsserver directory, start the development server in another
nix-shell, using the following command::

      pserve configs/dev.ini

In the adjacent nix-shell which you created for your development server, you may
now start CE with the following command::


      pserve --reload configs/dev.ini

.. note::

  `--reload` flag will automatically reload the server when source file changes.

Marcin, hello.

Installing Nix had occurred to me, too, and I found the RhodeCode docs for that; but I don’t think it’s supported on FreeBSD:

# curl https://nixos.org/releases/nix/nix-2.0.4/install | sh
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  2472  100  2472    0     0   6371      0 --:--:-- --:--:-- --:--:--  6371
sh: sorry, there is no binary distribution of Nix for your platform
#

Thus it appears (see Progress on rejuvenating nix on FreeBSD (35C3) - NixOS Discourse, dated December 2018) that Nix isn’t currently available for FreeBSD.

I have some experience with nixpkgs, on macOS, but I’m not an expert. I suspect you (RhodeCode, plural) are well ahead of me there, and I’d be willing to try things out here.

Best wishes,

Norman