#20359 closed enhancement (fixed)
librsvg-2.59.1
| Reported by: | Bruce Dubbs | Owned by: | Bruce Dubbs |
|---|---|---|---|
| Priority: | normal | Milestone: | 12.3 |
| Component: | BOOK | Version: | git |
| Severity: | medium | Keywords: | |
| Cc: |
Description (last modified by )
New point version. Now 2.59.0
Change History (18)
comment:1 by , 2 years ago
| Owner: | changed from to |
|---|---|
| Status: | new → assigned |
comment:2 by , 2 years ago
| Description: | modified (diff) |
|---|---|
| Summary: | librsvg-2.58.4 → librsvg-2.59.0 |
comment:3 by , 2 years ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
Fixed @ db65d99b0decdc2b38ab9596db7a6f4ed49047f9 - protobuf-28.2 4d0a4263abf0a00d5050953caa5bbeba0940fb78 - libpng-1.6.44 3a37e2f6cde8f490ee87dfce68a590ab817dc834 - bluez-5.78 befaab0a59b34bd4f25b5dd9cb86a09fe64bf87d - librsvg-2.58.4 d65e019e26c4128e3a01a6a549900e8f96ea1cb3 - curl-8.10.1 (Security Update). 1aa3576106248285dcf02e640d8a3dc660d864a6 - qemu-9.1.0 5216c76c32d250b0acf96b2b7e6d3df2e1d3956c - power-profiles-daemon-0.23
comment:4 by , 2 years ago
| Resolution: | fixed |
|---|---|
| Status: | closed → reopened |
comment:5 by , 2 years ago
I have trouble downloading cargo-c.
The download location https://github.com/lu-zero/cargo-c/archive/v0.10.4/cargo-c-0.10.4.tar.gz lacks the Cargo.lock file, thus when we build this archive cargo will download use the latest version of the dependencies. So in each build we may use different versions of the dependencies and it's unacceptable for a stable BLFS release.
Another download location https://crates.io/api/v1/crates/cargo-c/0.10.4+cargo-0.82.0/download has a stupid filename (if downloading with wget).
The (standalone) Cargo.lock file is available at https://github.com/lu-zero/cargo-c/releases/download/v0.10.4/Cargo.lock but again it has a stupid filename (which package does the file belong to?).
I guess we'll end up uploading the tarball from https://crates.io/api/v1/crates/cargo-c/0.10.4+cargo-0.82.0/download to anduin.
comment:6 by , 2 years ago
Another possibility is using curl (it'll be a required/recommended dependency then) to download https://github.com/lu-zero/cargo-c/releases/download/v0.10.4/Cargo.lock as a part of the book instruction:
curl -LO https://github.com/lu-zero/cargo-c/releases/download/v0.10.4/Cargo.lock
curl is already recommended for rustc so people should already have it installed. And cargo build --release will require an Internet connection anyway, so the package should already have the "building requires Internet" note.
comment:7 by , 2 years ago
So what I've got for cargo-c:
# Download (HTTP) curl -LO https://github.com/lu-zero/cargo-c/archive/v0.10.4/cargo-c-0.10.4.tar.gz # Required: # - rustc # - an Internet connection # Recommended: # - curl (for downloading Cargo.lock) # - libssh2 (otherwise a shipped copy will be used) # - sqlite3 (ditto) # Optional: # - libgit2 (external) # Download a file specifying the versions of dependencies: curl -LO https://github.com/lu-zero/cargo-c/releases/download/v0.10.4/Cargo.lock # Allow building with system libssh2 and sqlite3 (like rustc): [ ! -e /usr/include/libssh2.h ] || export LIBSSH2_SYS_USE_PKG_CONFIG=1 [ ! -e /usr/include/sqlite3.h ] || export LIBSQLITE3_SYS_USE_PKG_CONFIG=1 # Build the package cargo build --release # Test the package cargo test --release # Install the package sudo install -vm755 target/release/cargo-c*[a-z][a-z] /usr/bin/
Some remaining issues:
- Maybe
/opt/rustc/binis better than/usr/bin? (But then we'll need to reinstall the package whenever upgrading rustc.) - Maybe we can add libgit2 as a package so rustc and cargo-c can share the system libgit2 library? (Gentoo does this.)
comment:8 by , 2 years ago
| Owner: | changed from to |
|---|---|
| Status: | reopened → new |
comment:9 by , 2 years ago
Now it's harder to make the doc installed into where we want:
sed -e "s/Rsvg-2.0/librsvg-2.59.0/" \
-e "s/'--output-dir'/'--no-namespace-dir', &/" \
-e "/OUTDIR/s|,$|/ 'librsvg-2.59.0'&|" \
-i doc/meson.build
Otherwise it's a normal MNNI. LC_ALL=C seems no longer needed.
comment:10 by , 2 years ago
Thanks Xi this helps a lot, I will get to adding it, probably on Saturday.
comment:11 by , 2 years ago
| Owner: | changed from to |
|---|---|
| Status: | new → assigned |
comment:12 by , 2 years ago
| Summary: | librsvg-2.59.0 → librsvg-2.59.1 |
|---|
Now version 2.59.1. I needed to update the currency.
comment:13 by , 2 years ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
Fixed at commit 11e68b9502.
Added cargo-c in support at commit e462a41478.
follow-up: 15 comment:14 by , 2 years ago
I don't like making Cargo.lock an additional download. The file name is not versioned (so an user can forget to download it again when updating librsvg to a new version say 2.59.2), and we cannot even tell which package it's for from the name.
Can I change the book to just download it using curl in the instructions? Note that cargo build --release already requires an Internet connection so there will be no harm IMO.
follow-up: 17 comment:15 by , 2 years ago
Replying to Xi Ruoyao:
I don't like making Cargo.lock an additional download. The file name is not versioned (so an user can forget to download it again when updating librsvg to a new version say 2.59.2), and we cannot even tell which package it's for from the name.
Can I change the book to just download it using curl in the instructions? Note that
cargo build --releasealready requires an Internet connection so there will be no harm IMO.
I'm not the biggest fan of having Cargo.lock as an additional download either. I think using curl to download it would be a great idea, especially since we already need rust (so it's already installed on the system)
comment:16 by , 2 years ago
Release notes for 2.59.1:
Version 2.59.1 ============== librsvg crate version 2.59.1 librsvg-rebind crate version 0.1.0 Two mitigations for crashes found throuh fuzz testing: - #1088, #1118 - Cairo is easy to crash by giving it path coordinates that are outside of the range that it can represent internally with its fixed-point arithmetic. Fuzzers usually produce SVGs with very large numbers for coordinates, which overflow Cairo's arithmetic. This is just a *mitigation*, not a complete fix: librsvg will now check if path coordinates are outside of Cairo's supported range, and it will not render shapes with problematic coordinates. However, fuzzers may still produce coordinates that are in range but that still make Cairo crash. I am starting to learn Cairo's code to see if this can be fixed gradually.
follow-up: 18 comment:17 by , 2 years ago
Replying to Douglas R. Reno:
Replying to Xi Ruoyao:
I don't like making Cargo.lock an additional download. The file name is not versioned (so an user can forget to download it again when updating librsvg to a new version say 2.59.2), and we cannot even tell which package it's for from the name.
Can I change the book to just download it using curl in the instructions? Note that
cargo build --releasealready requires an Internet connection so there will be no harm IMO.
I'm not the biggest fan of having Cargo.lock as an additional download either. I think using curl to download it would be a great idea, especially since we already need rust (so it's already installed on the system)
I suppose using curl will be OK. Go ahead and change the instructions, but be sure to put in a note about why we are doing that.
comment:18 by , 2 years ago
Replying to Bruce Dubbs:
Replying to Douglas R. Reno:
Replying to Xi Ruoyao:
I don't like making Cargo.lock an additional download. The file name is not versioned (so an user can forget to download it again when updating librsvg to a new version say 2.59.2), and we cannot even tell which package it's for from the name.
Can I change the book to just download it using curl in the instructions? Note that
cargo build --releasealready requires an Internet connection so there will be no harm IMO.I'm not the biggest fan of having Cargo.lock as an additional download either. I think using curl to download it would be a great idea, especially since we already need rust (so it's already installed on the system)
I suppose using curl will be OK. Go ahead and change the instructions, but be sure to put in a note about why we are doing that.

Leaving open to add cargo-c to the book which is now required for the build.