Giter Site home page Giter Site logo

snddist's Introduction

alidist

Recipes to build ALICE SW

Guidelines for commit messages

  • Keep the first line of the commit below 50 chars
  • Leave the second line empty
  • Try to keep the lines after the third below 72 chars
  • Use some imperative verb as first word of the first line
  • Do not end the first line with a full-stop (i. e. .)
  • Make sure you squash / cleanup your commits when it makes sense (e.g. if they are really one the fix of the other). Keep history clean.

Example:

Fix issue in Geant4

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim
veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea
commodo consequat.

Guidelines for contributing recipes

  • Keep things simple (but concise).
  • Use 2 spaces to indent them.
  • Try avoid "fix typo" commits and squash history whenever makes sense.
  • Avoid touching $SOURCEDIR. If your recipe needs to compile in source, first copy them to $BUILDIR via:
rsync -a $SOURCEDIR ./

Guidelines for handling externals sources

Whenever you need to build a new external, you should consider the following:

  • If a Git / GitHub mirror exists, and no patches are required, use it for the package source.

  • If a Git / GitHub repository exists and you need to patch it, fork it, decide a fork point, possibly based on a tag or eventually a commit hash, and create a branch in your fork called alice/<fork-point>. This can be done with:

    git checkout -b alice/<fork-point> <fork-point>
    

    patches should be applied on such a branch.

  • If no git repository is available, or if mirroring the whole repository is not desirable, create a repository with a master branch. On the master branch import relevant released tarballs, one commit per tarball. Make sure you tag the commit with the tag of the tarball. E.g.:

    git clone https://github.com/alisw/mysoft
    curl -O https://mysoftware.com/mysoft-version.tar.gz
    tar xzvf mysoft-version.tar.gz
    rsync -a --delete --exclude '**/.git' mysoft-version/ mysoft/
    cd mysoft
    git add -A .
    git commit -a -m 'Import https://mysoftware.com/mysoft-<version>.tar.gz'
    git tag <version>
    

    In case you need to add a patch on top of a tarball, create a branch with:

    git checkout -b alice/<version> <version>
    

    and add your patches on such a branch.

  • Do not create extra branches unless you do need to patch the original sources.

Moreover try to keep the package name (as specified inside the recipe in the package field of the header) and the repository name the same, including capitalization.

PWGMM owned packages

The following packages have been agreed to be under PWGMM ownership and will require its signoff to be deployed in production.

  • aligenerators
  • crmc
  • epos
  • epos-test
  • hepmc
  • jewel
  • lhapdf
  • lhapdf5
  • powheg
  • pythia
  • pythia6
  • rivet
  • rivet-test
  • sherpa
  • thepeg
  • thepeg-test
  • yoda

Plus any of their dependencies.

Some instructions for working with a VM from CERN openstack

Assuming the user has read the openstack instructions and created a virtual machine.

CC7 - x86_64

  • on lxplus, login to your newly created virtual machine with your key: ssh -i .ssh/yourkey [email protected]
  • create your user: adduser yourUserName, passwd yourUserName, usermod -a -G wheel yourUserName
  • logoff and logon with your user
- sudo yum group install "Software Development Workstation (CERN Recommended Setup)"
- sudo yum install environment-modules
- sudo yum install python-pip
- sudo pip install --upgrade pip
- sudo pip install alibuild
- mkdir SNDBUILD, cd SNDBUILD
- git clone https://github.com/SND-LHC/sndsw
- git clone https://github.com/SND-LHC/snddist
- aliBuild build sndsw -c snddist
- alienv enter sndsw/latest 
- for openGL / eventDisplay: export LIBGL_ALWAYS_INDIRECT=1

C8 - x86_64

  • on lxplus, login to your newly created virtual machine with your key: ssh -i .ssh/yourkey [email protected]
  • create your user: adduser yourUserName, passwd yourUserName, usermod -a -G wheel yourUserName
  • modify /etc/ssh/sshd_config: # PasswordAuthentication no
    • sudo vim /etc/ssh/sshd_config, escape :wq! sudo service sshd restart
  • logoff and logon with your user
- sudo yum group install "Software Development Workstation (CERN Recommended Setup)"
- sudo yum install texinfo
- sudo dnf install libfabric-devel
- sudo pip3 install alibuild
- sudo ln -s /usr/bin/python3 /usr/bin/python
- mkdir SNDBUILD, cd SNDBUILD
- git clone https://github.com/SND-LHC/sndsw
- git clone https://github.com/SND-LHC/snddist
- aliBuild build sndsw -c snddist
- alienv enter sndsw/latest 
- for openGL / eventDisplay: export LIBGL_ALWAYS_INDIRECT=1


 

snddist's People

Contributors

ktf avatar dberzano avatar thomasruf avatar olantwin avatar qgp avatar barthelemy avatar sawenzel avatar pmunkes avatar cvilelahep avatar alibuild avatar antonioiuliano2 avatar daniilsu avatar siscia avatar siilieva avatar shir994 avatar aphecetche avatar dstocco avatar matthiasrichter avatar mkrzewic avatar tugberk92 avatar aaniin avatar akubera avatar sbinet avatar awegrzyn avatar dennisklein avatar mimarpe avatar mohammadalturany avatar tvrancken avatar brinick avatar kvnnap avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.