hi everyone,
I am working on packaging a matlab/octave toolbox that involves
multiple source tarballs
https://salsa.debian.org/pkg-octave-team/octave-iso2mesh
this toolbox contains a number of built-in utilities that are
linked to the source repo via submodules
https://github.com/fangq/iso2mesh/tree/master/tools
however, the github release tarball does not contain these submodules and I must combine those to build the package.
I previous had used a shell script to merge the source code trees and create a single .orig.tar.gz, however, I was told that using debian/repack and uscan is the preferred way to perform changes like this.
I notice that debian/watch file supports multiple source
components, so I wrote the below watch file:
version=3
opts="dversionmangle=s/\+dfsg\.\d+$//,filenamemangle=s/\S+\/v?(\S+)\.tar\.gz/iso2mesh-$1\.tar\.gz/"
\
https://github.com/fangq/iso2mesh/tags
.*/v?(\d\S+)\.tar\.gz \
debian debian/repack
https://github.com/fangq/cork/releases
.*/v(\d[\d\.]*)\.(?:tar.gz|tar.bz2|tar.xz)
https://github.com/fangq/meshfix/releases
.*/v(\d[\d\.]*)\.(?:tar.gz|tar.bz2|tar.xz)
but when I ran uscan --verbose, it only
downloaded/repacked the main source file, but refused to download
the components
...
uscan info: Matching target for filenamemangle:
/fangq/iso2mesh/archive/v1.9.5.tar.gz
uscan info: Download filename (filenamemangled):
iso2mesh-1.9.5.tar.gz
...
Removing non-DFSG-free files:
removed
'/tmp/tmp.uNMHl78FqP/octave-iso2mesh-1.9.1.orig/bin/README.txt'
Rebuilding DFSG-free upstream source tarball:
Moving completed upstream tarball to
‘../octave-iso2mesh_1.9.1.orig.tar.gz’:
...
uscan info: Newest upstream tarball version selected
for download (uversionmangled): 0.9
uscan info: Download filename (filenamemangled):
v0.9.tar.gz
uscan info: Newest version of octave-iso2mesh on
remote site is 0.9, local version is 1.9.1
uscan info: => Only older package available
from
https://github.com/fangq/cork/archive/v0.9.tar.gz
...
uscan info: Scan finished
I am wondering if you know any sample package that uses repack/uscan to combine multiple source packages? The uscan manpage mentioned about MUT, but I could not find a working example.
thanks, let me know if you have any suggestions.
Qianqian