Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial debianization #4185

Open
wants to merge 2 commits into
base: python
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .github/actions/build_ubuntu_package/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
FROM ubuntu:focal

ENV DEBIAN_FRONTEND noninteractive
run apt update
run apt install -y dpkg-dev build-essential

COPY entrypoint.sh /entrypoint.sh
11 changes: 11 additions & 0 deletions .github/actions/build_ubuntu_package/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: 'Ubuntu Package'
outputs:
package_file:
description: Name of package file generated
description: 'Build Ubuntu package'
runs:
using: "docker"
image: "Dockerfile"
entrypoint: "/entrypoint.sh"


8 changes: 8 additions & 0 deletions .github/actions/build_ubuntu_package/entrypoint.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/bin/bash
set -e -x -v
apt build-dep -y . &&
dpkg-buildpackage -uc -us &&
cp ../*.deb /github/workspace &&
package_file=`ls /github/workspace/*.deb`
echo "::set-output name=package_file::${package_file}"

6 changes: 6 additions & 0 deletions .github/actions/test_ubuntu_package/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
FROM ubuntu:focal

ENV DEBIAN_FRONTEND noninteractive
run apt update

COPY entrypoint.sh /entrypoint.sh
13 changes: 13 additions & 0 deletions .github/actions/test_ubuntu_package/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: 'Test Ubuntu Package'
description: 'Test Ubuntu package'
inputs:
package_file:
description: Name of package file to install and test
required: true
runs:
using: "docker"
image: "Dockerfile"
entrypoint: "/entrypoint.sh"
args:
- ${{ inputs.package_file }}

5 changes: 5 additions & 0 deletions .github/actions/test_ubuntu_package/entrypoint.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/bin/bash

apt install -y $1
python3 -c 'import espressomd; system=espressomd.System(box_l=[1,1,1])'

Original file line number Diff line number Diff line change
Expand Up @@ -50,3 +50,4 @@ jobs:
token: ${{ secrets.GITHUB_TOKEN }}
title: Scheduled CI job has failed
body: ${{ env.job_link }}

23 changes: 23 additions & 0 deletions .github/workflows/packaging.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Build packages

on:
push:
pull_request:
schedule:
- cron: '0 3 * * *'

jobs:
ubuntupackage:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@main
- name: Build package
id: build
uses: ./.github/actions/build_ubuntu_package
- name: Test package
uses: ./.github/actions/test_ubuntu_package
with:
package_file: ${{steps.build.outputs.package_file }}


5 changes: 5 additions & 0 deletions debian/changelog
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
espresso (4.1.5~rc1) unstable; urgency=medium

* Initial release

-- Evangelos Ribeiro Tzaras <[email protected]> Sun, 28 Mar 2021 17:15:36 +0200
60 changes: 60 additions & 0 deletions debian/control
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
Source: espresso
Section: science
Priority: optional
Maintainer: Espresso Maintainers <[email protected]>
Build-Depends:
cmake,
cython3,
debhelper-compat (=12),
fftw3-dev,
libblas-dev,
libboost-dev,
libboost-filesystem-dev,
libboost-mpi-dev,
libboost-serialization-dev,
libboost-test-dev,
libfftw3-dev,
libgsl-dev,
libhdf5-dev,
libhdf5-openmpi-dev,
libhdf5-openmpi-dev,
liblapack-dev,
python3-dev,
libpython3-dev,
openmpi-common,
python3,
python3-h5py,
python3-numpy,
python3-scipy
Rules-Requires-Root: no
Standards-Version: 4.5.0
Vcs-Browser: https://github.com/espressomd/espresso
Vcs-Git: https://github.com/espressomd/espresso.git
Homepage: https://espressomd.org

Package: espresso
Architecture: any
Depends:
python3,
python3-h5py,
python3-numpy,
python3-opengl,
python3-scipy,
python3-vtk7,
libboost-filesystem1.71.0,
libboost-mpi1.71.0,
libboost-serialization1.71.0,
libfftw3-3,
libgsl23,
libhdf5-openmpi-103,
libopenblas0-pthread,
openmpi-bin,
libopenmpi3,
libstdc++6,
${misc:Depends},
Description: Molecular dynamics simulation package
ESPResSo is a highly versatile software package for performing
and analyzing scientific Molecular Dynamics many-particle
simulations of coarse-grained atomistic or bead-spring models
as they are used in soft matter research in physics, chemistry
and molecular biology.
29 changes: 29 additions & 0 deletions debian/copyright
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: espresso
Upstream-Contact: Espresso mailing list <[email protected]>
Source: https://github.com/espressomd/espresso.git
License: GPL-3

Files: *
Copyright: 2010-2021 The ESPResSo project
2002-2010 Max-Planck-Institute for Polymer Research, Theory Group
License: GPL-3


License: GPL-3+
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 3 of the License, or (at your option) any later
version.
.
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
details.
.
You should have received a copy of the GNU General Public License along with
this package; if not, write to the Free Software Foundation, Inc., 51 Franklin
St, Fifth Floor, Boston, MA 02110-1301 USA
.
On Debian systems, the full text of the GNU General Public License version 3
can be found in the file `/usr/share/common-licenses/GPL-3'.
10 changes: 10 additions & 0 deletions debian/gbp.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
[DEFAULT]
debian-branch = python
debian-tag = v%(version)s
debian-tag-msg = %(pkg)s v%(version)s

[tag]
sign-tags = true

[dch]
multimaint-merge = true
10 changes: 10 additions & 0 deletions debian/rules
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#!/usr/bin/make -f

export DEB_BUILD_MAINT_OPTIONS= hardening=+all

%:
dh $@


override_dh_auto_test:
true
1 change: 1 addition & 0 deletions debian/source/format
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3.0 (native)
3 changes: 3 additions & 0 deletions debian/watch
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
version=4
opts=filenamemangle=s/.+\/v?(\d\S+)\.tar\.gz/espresso-$1\.tar\.gz/ \
https://github.com/espressomd/espresso/tags .*/v?(\d\S+)\.tar\.gz