SRB2/libs/libopenmpt/SRB2NOTE-DEBIAN.md
2019-01-04 18:43:48 -05:00

3.2 KiB

libopenmpt Debian backport info

Backported libopenmpt 0.4.0 packages are available at ppa:stjr/srb2 for Ubuntu Disco, Cosmic, Bionic, Xenial, and Trusty as of 2019/01/04.

Debian Jessie users should use the Trusty package. Later Debian versions may use Disco or another working version.

Backporting from Disco to Cosmic and Bionic

Cosmic and Bionic require no changes to the source package. They have the prerequisite debhelper and dpkg-dev versions, a matching automake version (1.15), as well as G++ > 5.

Use the backportpackage script to automatically tag the package to Cosmic and Bionic, then upload to PPA:

sudo apt install ubuntu-dev-tools
export UBUMAIL="John Doe <email@com.com>" # Name and email associated with your PGP sign key
backportpackage -d [cosmic/bionic] -u [path-to-ppa] --key=[key-fingerprint] http://archive.ubuntu.com/ubuntu/pool/universe/libo/libopenmpt/libopenmpt_0.4.0-1.dsc

Backporting from Disco to Xenial

Download the package:

dget http://archive.ubuntu.com/ubuntu/pool/universe/libo/libopenmpt/libopenmpt_0.4.0-1.dsc

Xenial has an earlier debhelper version, but the rest of the prerequisites are available.

The required changes (see patch debian/libopenmpt-0.4.0-xenial-backport.diff in this directory):

  • debian/control
    • Add automake to Build-Depends
    • Change debhelper version to (>= 9.0~)
  • debian/compat
    • Change to 10

Then run these commands:

dch -i # Edit the changelog; make sure the Name and email match the PGP sign key and that the changelog targets xenial
debuild -s -d -k0x[key-fingerprint] # Build the updated package
dput [path-to-ppa] [path-to-changes-file] # Upload to PPA

Backporting from Disco to Trusty

Download the package:

dget http://archive.ubuntu.com/ubuntu/pool/universe/libo/libopenmpt/libopenmpt_0.4.0-1.dsc

Trusty requires more changes because it uses G++ 4.8 whereas the source package expects G++ >= 5. Automake is an earlier version as well -- 1.14 vs 1.15 -- so autoreconf needs to be run at build time.

The required changes (see patch debian/libopenmpt-0.4.0-trusty-backport.diff in this directory):

  • debian/control
    • Add automake and libtool to Build-Depends
    • Change debhelper version to (>= 9.0~)
    • Change dpkg-dev version to (>= 1.17.0)
  • debian/compat
    • Change to 10
  • debian/rules
    • Under override_dh_auto_configure, input this line as the first command: autoreconf --force --install
      • This re-configures the package for Automake 1.14
  • debian/libopenmpt-modplug1.symbols and debian/libopenmpt0.symbols
    • Delete these files
      • The C++ ABI for G++ 4.8 is incompatible with G++ >= 5, so the generated symbols will be different than the expected symbols in the *.symbols files. Deleting these files will skip the symbol check.

Then run these commands:

dch -i # Edit the changelog; make sure the Name and email match the PGP sign key and that the changelog targets trusty
debuild -s -d -k0x[key-fingerprint] # Build the updated package
dput [path-to-ppa] [path-to-changes-file] # Upload to PPA