shssoichiro / oxipng

Multithreaded PNG optimizer written in Rust
MIT License
2.94k stars 125 forks source link

Get oxipng into linux distributions and Homebrew #69

Open shssoichiro opened 7 years ago

shssoichiro commented 7 years ago

As cargo install is not recommended to be used for installing end-user binaries, we should move to get oxipng listed in Linux distributions and Homebrew.

We may not have immediate control over some of these.

This will also require a plan for pushing updates to these distributions.

CounterPillow commented 7 years ago

Good luck, rust's static compilation means no distro will want to touch this with a 10 foot pole

shssoichiro commented 7 years ago

Ripgrep is at least in Homebrew and Gentoo. For Arch there's the AUR. The other distros will probably be a harder sell.

corppneq commented 6 years ago

You could use AppImage: https://github.com/AppImage/AppImageKit/

leo-unglaub commented 6 years ago

I have build a package for Alpine Linux and OpenBSD. I will submit them shortly to the official repositories.

magicgoose commented 6 years ago

Good luck, rust's static compilation means no distro will want to touch this with a 10 foot pole

pngquant (later versions) is written in rust as well, and it's present in many distros: https://pkgs.org/download/pngquant

CounterPillow commented 6 years ago

@magicgoose that pngquant must not be the one you're referring to, because the one you linked is written in C99.

magicgoose commented 6 years ago

@CounterPillow I'm referring to https://github.com/kornelski/pngquant It is partially written in Rust. (not completely — my mistake)

Calinou commented 6 years ago

Just a heads-up for Windows users, oxipng is now available in Scoop (commit) :smiley:

aaronfranke commented 5 years ago

What's the status of this? Will there be Ubuntu packages anytime soon? Perhaps a PPA?

adiabatic commented 3 years ago

It's been in Homebrew for a while.

CounterPillow commented 3 years ago

It's also in the official Arch Linux repositories https://archlinux.org/packages/community/x86_64/oxipng/

Since Debian and Ubuntu ship other rust utilities now (e.g. the excellent ripgrep) I imagine it's only a matter of time before a Debian or Ubuntu contributor takes interest and packages it.

ghost commented 3 years ago

It's now in fedora. https://src.fedoraproject.org/rpms/rust-oxipng

jn64 commented 1 year ago

It was orphaned in Fedora since 2022-04 :(

update: it was unretired in 2024-02. Packages are again available in Fedora 38 and up, as well as EPEL 9.

GreenReaper commented 11 months ago

I agree it'd be great to see this in Debian, which would perhaps help get into Ubuntu as well. There's been a request open since 2018. However, it'll probably require someone active in the project to get involved as they have security maintenance requirements.

The Arch Linux package is now over here. Technically, if you tar xvf the package and install it to /usr/bin, it seems to work on Debian Bookworm. (It may rely on certain libraries.)

AlexTMjugador commented 11 months ago

Technically, if you tar xvf the package and install it to /usr/bin, it seems to work on Debian Bookworm. (It may rely on certain libraries.)

OxiPNG distributes fully statically linked Linux binaries, whose release archive names end in -musl. These binaries have no dependencies on any distro's libc, so if you want OxiPNG binaries that are portable to almost any Linux environment right now without any hassle (including Debian, and more exotic things like Alpine Linux and Android), that's your best bet.

[...] However, it'll probably require someone active in the project to get involved as they have security maintenance requirements.

I would love to see OxiPNG on Debian as well, but frankly, the amount of work required to play by the Debian repository rules is significant, and I am not convinced that it is worth the effort for a core OxiPNG developer to also become a Debian maintainer, given the apparent lack of interest so far from any Debian maintainer to even consider getting in touch with this project, as far as I know.

If anyone with more experience with Debian packaging has a concrete plan to make it work well ("well" as in that the package has man pages and proper data and metadata, is available for different architectures, has backports of newer OxiPNG versions to older distro releases, etc.) without much effort on our part, please feel free to chime in!

calumapplepie commented 8 months ago

I would love to see OxiPNG on Debian as well, but frankly, the amount of work required to play by the Debian repository rules is significant, and I am not convinced that it is worth the effort for a core OxiPNG developer to also become a Debian maintainer,

Actually, neither of these things is as substantial as you think. The debian devs have set up a LOT of automated tooling for rust packages1, which effectively handles most of the requirements of packaging for you. There are some bits of policy you'd need to be in compliance with; generating a real man page, with proper macro-based formatting, among them.

Being a maintainer isn't that much effort; especially for the rust ecosystem, where things are standarized so heavily that you really can just fire off a cargo build script and get files in the right spots. In short, its definitely worth taking a look at the packaging pages, and dedicating an hour or two and maybe a message to the existing maintainers about getting the package in.

andrews05 commented 8 months ago

@calumapplepie Thanks for the info! It's been on the todo list to get a man page, I can at least look at getting that sorted...

musicinmybrain commented 8 months ago

update: it was unretired in 2024-02. Packages are again available in Fedora 38 and up, as well as EPEL 9.

I’m the new maintainer. Feel free to ping me any time you need to talk about how oxipng is packaged in Fedora and/or EPEL.

Chubercik commented 4 months ago

What's the status of this? Will there be Ubuntu packages anytime soon? Perhaps a PPA?

Bump; any news in this department?

andrews05 commented 4 months ago

@Chubercik We have a man page now. It also looks like oxipng is available on Gentoo, but no movement on Ubuntu/Debian afaik. [edit] Also available on CentOS/RHEL!

AlexTMjugador commented 4 months ago

I think it's useful to point out that since this issue was created, an infographic powered by repology.org has been added to the repository README to show which Oxipng version is being packaged in which repositories, so anyone can use this to track packaging status in real time.

TPS commented 4 months ago

What's very nice on the linked repology page is that platform maintainers are linked. Ubuntu/Debian is conspicuously entirely absent from that page. Interested, @Chubercik @calumapplepie?

Chubercik commented 4 months ago

What's very nice on the linked repology page is that platform maintainers are linked. Ubuntu/Debian is conspicuously entirely absent from that page. Interested, @Chubercik @calumapplepie?

I don't really have nearly enough knowledge about the Debian/Ubuntu ecosystem to tackle this myself; for now, I've followed the "Requesting a new package for Ubuntu" section of https://wiki.ubuntu.com/UbuntuDevelopment/NewPackages and filed a [needs-packaging] bug report here (that also mentions the Debian WNPP):

Chubercik commented 4 months ago

So I fiddled with packaging oxipng for Debian today..

image (screenshot courtesy of cargo-debstatus)

Unfortunately, a few dependencies are outdated (or absent) and thus require to be taken care of first. Given that this project uses strict dependency requirements this is going to be a reoccurring pain point during every update.