Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Get oxipng into linux distributions and Homebrew #69

Open
5 of 7 tasks
shssoichiro opened this issue Jun 23, 2017 · 24 comments
Open
5 of 7 tasks

Get oxipng into linux distributions and Homebrew #69

shssoichiro opened this issue Jun 23, 2017 · 24 comments
Labels
I-Minor Issues that would be nice to have fixed, but are the lowest priority T-Help Wanted The core maintainer cannot work this issue and would like another developer to take a look T-Meta A collection of related issues

Comments

@shssoichiro
Copy link
Owner

shssoichiro commented Jun 23, 2017

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.

  • Homebrew
  • Ubuntu
  • Debian
  • Gentoo
  • Arch
  • Centos
  • Fedora

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

@shssoichiro shssoichiro added the I-Minor Issues that would be nice to have fixed, but are the lowest priority label Jun 23, 2017
@CounterPillow
Copy link

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

@shssoichiro
Copy link
Owner Author

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

@shssoichiro shssoichiro added the T-Meta A collection of related issues label Jul 18, 2017
@corppneq
Copy link

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

@leo-unglaub
Copy link

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

@magicgoose
Copy link
Contributor

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
Copy link

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

@magicgoose
Copy link
Contributor

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

@Calinou
Copy link
Contributor

Calinou commented Sep 11, 2018

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

@aaronfranke
Copy link

aaronfranke commented Jun 8, 2019

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

@adiabatic
Copy link

It's been in Homebrew for a while.

@CounterPillow
Copy link

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
Copy link

ghost commented Jul 14, 2021

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

@jn64
Copy link

jn64 commented Dec 4, 2022

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.

@ace-dent ace-dent mentioned this issue Oct 8, 2023
@GreenReaper
Copy link

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
Copy link
Collaborator

AlexTMjugador commented Dec 9, 2023

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!

@andrews05 andrews05 added the T-Help Wanted The core maintainer cannot work this issue and would like another developer to take a look label Dec 9, 2023
@calumapplepie
Copy link

calumapplepie commented Feb 26, 2024

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
Copy link
Collaborator

@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
Copy link
Contributor

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.

AlexTMjugador added a commit that referenced this issue Mar 18, 2024
This PR adds a build script to generate a man page using clap_mangen, as
per this example:
https://github.com/sondr3/clap-man-example/blob/main/build.rs

I'm not sure what to actually do with the man file from here, I guess
it's up to the packaging process to do something with it?
See
#69 (comment)

Note I couldn't see a way to include the `DISPLAY` chunk names from the
constant as we did before. They're now just hardcoded into the help and
will require manually updating if the list changes.

Closes #526

---------

Co-authored-by: Alejandro González <[email protected]>
@Chubercik
Copy link

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

Bump; any news in this department?

@andrews05
Copy link
Collaborator

andrews05 commented Jul 9, 2024

@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
Copy link
Collaborator

AlexTMjugador commented Jul 10, 2024

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
Copy link

TPS commented Jul 10, 2024

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
Copy link

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
Copy link

Chubercik commented Jul 11, 2024

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
I-Minor Issues that would be nice to have fixed, but are the lowest priority T-Help Wanted The core maintainer cannot work this issue and would like another developer to take a look T-Meta A collection of related issues
Projects
None yet
Development

No branches or pull requests