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 <https://salsa.debian.org/fangq/octave-iso2mesh/-/blob/master/README.md> 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


Reply via email to