Project

General

Profile

Distmaker raw notes

Maintaining my own fork of CiviCRM is complicated by the fact Civi can't be installed directly from git. You have to add additional repos (e.g. civicrm-drupal, civicrm-packages, etc.), you have to run bower and composer, etc.

I spoke to Kevin at Tadpole, and he says the trick is to generate your own tarballs using the distmaker script in Civi. This will generate tarballs that can include the patches of your choice. I'm going to document my process here.

The only distmaker documentation I found is here.

So the process appears to be:

  • Use civibuild to create a new site called "dist".
  • Apply your patches to civibuild.
  • Run the following command from your <civiroot>/distmaker: ./distmaker.sh Drupal

h3. Setting up distmaker

  • cp distmaker.conf.dist distmaker.conf
  • Edit distmaker.conf. Here's my current config: ``` #!/bin/bash DM_SOURCEDIR=/home/jon/local/civicrm-buildkit/build/dmaster/sites/all/modules/civicrm DM_GENFILESDIR=/home/jon/temp/distmaker DM_TMPDIR=/tmp DM_TARGETDIR=/home/jon/temp/distmaker/tarballs

Optional

DM_PHP= [default: php]

DM_RSYNC= [default: rsync]

DM_ZIP= [default: zip]

DM_NPM= [default: npm]

DM_NODE= [default: node]

DM_COMPOSER= [default: composer]

DM_VERSION=5.1.2

Git branch/tag name

DM_REF_CORE=examplebranch
DM_REF_BACKDROP=1.x-master
DM_REF_DRUPAL=7.x-master
DM_REF_DRUPAL6=6.x-master
DM_REF_JOOMLA=master
DM_REF_WORDPRESS=master
DM_REF_PACKAGES=master

This will generate a Drupal tarball using the `examplebranch` branch.  
Go to top