octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Octave-Forge: requirement for a maintainer Makefile for release


From: Oliver Heimlich
Subject: Re: Octave-Forge: requirement for a maintainer Makefile for release
Date: Sun, 11 Dec 2016 11:45:27 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Icedove/45.4.0

On 10.12.2016 19:55, Carnë Draug wrote:
> If a package in the repository has the same structure as the package
> release, then making a release is as simple as exporting a specific
> commit.  That will be a really simple Makefile and may looks pointless.
> But requiring a Makefile instead of a fixed structure allows package
> maintainers to develop in any structure they want.

I can give an example from the interval package.  I, as a developer,
have chosen not to put any generated files under version control.  When
I started the package this seemed like a less important decision and I
have decided this way because it seemed like the cleanest solution.

As a consequence, making a release is not a simple “hg archive”.  I need
a maintainer Makefile and have to regenerate a lot of files and patch
them into the tarball created by “hg archive”.  This step involves a
bunch of more or less exotic programs which I do not expect to be
present at the user's computer (otherwise the files could have been
generated by src/Makefile during “pkg install”).  All of these steps are
very specific to this particular package and when I wrote the maintainer
Makefile I didn't really care about interoperability of the Makefile for
different systems.

At the moment it is not easy to make a release for the interval package
unless you have installed all aforementioned dependencies.

However, if we decide that it should be easier to make or verify a
package release by a third party, I could just put the generated files
under version control.  The maintainer Makefile would barely change,
except that the release target became much simpler after a fresh clone
of the repository.  The other side of the coin is that I would have to
be more careful to keep generated files in sync during commits.

> Anyway, what the other projects do and don't do is not really important.
> One of the requirements in Octave Forge is that we host a clone of the
> repository from where releases can be made.  Until now we have been
> trusting package maintainers but packages have been released with code
> that was never committed.  A method to reproduce a release from the
> repository is needed to prevent that and since a lot of packages already
> have a maintainer Makefile, that seems like the best option.

The only problem that I see here is that you can get into “dependency
hell” as mentioned above.  Putting all generated files under version
control could be a way out and this would also allow to simply “pkg
install” a development version directly from the source repository.

Best
Oliver



reply via email to

[Prev in Thread] Current Thread [Next in Thread]