Scalable Distributed SCM
https://www.mercurial-scm.org/
Mercurial is a fast, lightweight source control management system
designed for efficient handling of very large distributed projects.
- Devel package for openSUSE:Factory
-
8
derived packages
- Links to openSUSE:Factory / mercurial
- Has a link diff
- Download package
-
Checkout Package
osc -A https://api.opensuse.org checkout devel:tools:scm/mercurial && cd $_
- Create Badge
Refresh
Refresh
Comments 10
Mercurial has been updating its build system to be more modern, and with the upcoming 7.0 release these changes will become breaking. Basically all this requires is to use
%pyproject_wheel
/install
. See home:DrinkyBird:test/mercurial which is 6.9.2 that I've updated for the new build system.Unfortunately, 7.0's further build improvements also introduce a dependency on
setuptools_scm >= 8.1
, which is newer than the7.1
version of that package shipped in Leap 15. As it currently is, Mercurial 7.0 will break the Leap 15 builds, see mercurial-7.0-test which builds a commit from the default branch of the mercurial-devel repository.I might be fast but I'm still a relative novice at packaging, so I'm not sure what should be done about this upcoming breakage.
I would prefer not to break Leap support if possible, but also, this is primarily the devel repository for Tumbleweed. If the package cannot be updated without breaking Leap support, then, at least in my opinion, breaking support is unfortunately necessary.
People requiring a very recent Mercurial version could branch this package and add
devel:languages:python:backports
as a source repository, where the dependency should be fulfilled. I guess it should build then.I added
devel:languages:python:backports
as a source to my test project for 15.6 and the Mercurial 7.0 test package does build with it. I discussed a bit in #mercurial about this and it seems unlikely this requirement will change on their side, so I guess breaking Leap 15 support will have to happen. Since the build changes work with the current version I will probably submit those ahead of time, then everything will be ready for when 7.0 releases.Ok, thanks!
Mercurial 7.0 has released and I've let the Leap 15 builds break as discussed.
setuptools_scm
in my experience can be (and most of the time, should be) replaced by some work withsed
and hard-coding%{version}
topyproject.toml
(orsetup.*
).That also makes sense. There is a pregenerated
__version__.py
in the source tarballs anyway, so it's annoyingsetuptools_scm
is required just for that...@DrinkyBird @expeehaa Why we don’t have 7.0.1 in Factory? Actually, … scrap it, it is just about vendored module. Wait! We haven’t unbundled this? Why we are still using vendored modules instead of the system
python-zstandard
?Hm? 7.0.1 is in Factory.
The python-zstandard is vendored by the Mercurial developers themselves, and isn't intended to be replaced by packagers. To quote the README:
The package changelog is just the official one verbatim.
Oh, dear.