[Debichem-devel] Avogadro2 unofficial Debian / Ubuntu packages?

Michael Banck mbanck at debian.org
Fri May 21 22:41:31 BST 2021


Hi,

(I've put Geoff back on CC cause he's probably not subscribed to
debichem-devel)

On Fri, May 21, 2021 at 10:40:05PM +0200, Daniel Leidert wrote:
> Am Freitag, dem 21.05.2021 um 14:34 -0400 schrieb Geoffrey Hutchison:
> > I hope you're doing well. I'm writing to ask about offering unofficial .deb
> > packages for Avogadro2.
> > 
> > Users have been asking for different compile options (i.e., with MoleQueue
> > enabled so they have the input generators). I'm working to remove the
> > dependency, but that's a slower project.

I guess this just something that Debian/Ubuntu should activate, or are
there license/copyright issues preventing this?

> > I'd like to offer packages on our GitHub releases - but naturally I've never
> > done any Debian packaging. So I'm writing to the experts.
> > 
> > Can you give me a quick primer, e.g.
> > - Download source package
> > - ..
> > - Compile
> > - Run dpkg-deb --build
> 
> Get the Debian package source via:
> 
> dget <.dsc URL>, e.g.
> 
> dget https://deb.debian.org/debian/pool/main/a/avogadro/avogadro_1.93.0-3.dsc
> 
> Use https://tracker.debian.org/pkg/avogadro to see the source package versions
> and links of avogadro in all Debian releases. You can get those not listed
> there from http://snapshot.debian.org/package/avogadro/.
> 
> Then add a changelog entry to debian/changelog. See `man dch`. You probably
> want to use the -l/--local switch. Make the changes you need (probably in
> debian/copyright and or debian/rules) and finalize your changelog (`dch -r`).
> Then build with whatever build tool you prefer: debuild, dpkg-buildpackage,
> pbuilder, cowbuilder, sbuild, ... the latter offering clean build environments.
> 
> Or maybe you want to clone https://salsa.debian.org/debichem-team/avogadro,
> create a new branch for your changes, and use git-buildpackage in combination
> with sbuild or pbuilder to build the package? That way we could even merge your
> changes back. We can lend you a helping hand to setup the environment.
> 
> > - Upload amd64 .deb
> 
> Well, but uploading this to github releases doesn't provide any automatic
> updates for users and their installation would also be overwritten by our
> packages as soon as we update the official package (as long as you don't choose
> a different package name). To separate your packages and enable updates you
> would need to create your own repository. If you are using github, there are
> some ways to achieve this:
> 
> I think the openmediavault guys keep the complete repository structure in git
> and publish the repository:
> https://github.com/OpenMediaVault-Plugin-Developers/packages/tree/master/debian
> 
> It is probably also possible to script the whole process and use github actions
> or travis-CI to create the repository structure.
> 
> However, the truth is: Even as an experienced Debian maintainer and
> github/travis user it would take me some time to set up the whole environment.
> I wonder what is so different that it cannot be included in the official
> package? Can you provide some more details?

Well, this goes two ways - we might want to figure out how to better
package avogadro2 - including molqueue, but avogadro2 might also want to
supply their users with snapshot .deb packages that they can test and/or
supply the latest stable release for an older Ubuntu LTS release. Geoff,
can you clarify a bit more what your aims are?

Anyway, from an upstream perspective, I think it would look more like:

source step:

clone avagodro, if that's not implicit by your pipeline
clone the debian packaging directory from salsa[1]
update the changelog as mentioned by Daniel above
create source package


binary step:
possibly install build-essential or core build packages
copy source package over from last step
install build-dependencies
unpack source package
build the source package
upload the artefacts

Unfortunately, I don't know much about github actions, which would be
the natural way to do this I guess.

But again, maybe the official Debian/Ubuntu packages should just get
better. On the other hand; with Github actions you potentially have the
possibility to build for several target versions, e.g. all Ubuntu LTS
and the current Ubuntu and Debian stable releases.


Michael

[1] https://salsa.debian.org/debichem-team/avogadro but as this keeps
the whole upstream source as well, it might be a bit tricky to just get
the debian/ directory via sparsecheckout or so. An alternative would be
to just get the latest debian.tar.xz, either via dget or some other
means.



More information about the Debichem-devel mailing list