rpm-software-management / librpm.rs

Rust bindings to the RPM Package Manager libraries (librpm, librpmbuild, librpmsign)
https://rustrpm.org/librpm/
Mozilla Public License 2.0
31 stars 14 forks source link

Update the crate to compile again with later Rust and `librpm` versions #7

Closed ErichDonGubler closed 4 years ago

ErichDonGubler commented 5 years ago

See commits for more details -- if you'd like me to handle some other work doing updates, then just let me know!

tarcieri commented 5 years ago

Hi @ErichDonGubler, thanks for identifying the root cause of #6 and indeed you have pinpointed the core problem. I'm also quite glad you're interested in helping!

At first glance this PR looks good, however it seems our CI is broken, so I will need to investigate fixing it.

I'm also curious if you know offhand how this affects compatibility. I can investigate on my own, but I'm curious if this will still build against librpm as included in e.g. CentOS 7 (I know 8 is coming soon, but)

ErichDonGubler commented 5 years ago

Looking at the CentOS 7 package index and searching for rpm-devel, looks like librpm 4.11 is still in use there -- you're either going to need to maintain separate versions of this crate for different librpm versions (i.e. 0.1.x for pre-4.12 and 0.2.x for 4.12 until the next breaking API changes) or just drop support for all but latest. The strategy you pick will most likely depend on your commitment to backwards compatibility and how much free time you have. :stuck_out_tongue:

Looks like CentOS 8 will be using at least librpm 4.14, according to this build I found with some Google-fu.

Is there a reason you are concerned with CentOS in particular? Is that your distro, maybe?

tarcieri commented 5 years ago

@ErichDonGubler ok, let's go ahead and update it, and I will continue using the old version on CentOS 7 and update when I get on CentOS 8

tarcieri commented 5 years ago

@ErichDonGubler is there a particular distro/release you'd like to test against (perhaps Fedora?) I can get CI working again with that.

ErichDonGubler commented 5 years ago

Fedora is what I use right now, but I'm also open to Arch, Ubuntu...I'm not generally intimidated by most distros. :)

tarcieri commented 5 years ago

@ErichDonGubler I've set up Travis CI (which uses Ubuntu) and gone ahead and done a 2018 edition upgrade.

The tests are hanging though, so I disabled them in .travis.yml. Need to investigate why.

Let me know if that works. Otherwise I can investigate Fedora/CircleCI or something. Travis is nice in that I don't have to maintain a Docker image.

tarcieri commented 4 years ago

I believe this was obsoleted by #14