Git Product home page Git Product logo

Comments (7)

tormol avatar tormol commented on June 12, 2024

It will likely be trivial to do, but updating quickcheck has previously been considered a breaking change, in which case you would also need the reverse dependencies to update their ascii dependency.
quickcheck is only an optional dependency though; does any of the reverse dependencies packaged by debian actually need it? (I couldn't find a way to get the reverse dependencies of a package on packages.debian.org)

from rust-ascii.

silwol avatar silwol commented on June 12, 2024

Yes, there is currently no direct way to detect the reverse dependencies due to crate packages only being build dependencies in Debian. A method to find these dependencies is described in the TODO.rst file in the debcargo-conf repository.
The packaged reverse dependencies currently are combine and encode-unicode, which in turn are not yet depended on, and as far as I can say, none of these uses the quickcheck feature.
This means ascii is not used in any binary package yet, but it is present in a dependency tree of a binary crate we intend to package on the long term.
It would be easy for us to patch out the quickcheck feature, but we usually try to stay close to upstream and avoid patching if not necessary. Instead we try to get crate maintainers to update their dependencies, because we might package a crate one day which requires the quickcheck feature, and then it would cause more troubles than if we had tried to get the fixes into upstream early.
For Debian 10 (buster) no binary crate will use ascii, because we are in freeze already and it will be released soon(ish). So we have some time left to work towards Debian 11 (bullseye) to get the depending crates packaged and updated.

from rust-ascii.

silwol avatar silwol commented on June 12, 2024

Any updates on this? Now that buster is released, I would like to continue packaging. If you consider releasing a new (semver incompatible) ascii version, I would wait for it to be released, otherwise I would rather patch our package to not contain the quickcheck feature.

from rust-ascii.

tormol avatar tormol commented on June 12, 2024

from rust-ascii.

tomprogrammer avatar tomprogrammer commented on June 12, 2024

Hi silwol, @tormol,

I also tried updating it and came to the same conclusion. The problem is, that the features quickcheck is named like the optional dependency, so we can't make the compilation of rand dependent on the feature quickcheck.

A possible solution would be renaming the feature so we can properly include the rand dependency, but thats my least favourite option.

I also thought about removing the quickcheck feature, instead users should use a newtype-wrapper that implements the required traits. Maybe @sunshowers can provide feedback on that, as original requester of this feature. Another advantage would be, that fewer major releases have to be cut for ascii.

While the quickcheck feature is mostly used in tests of other crates disabling the feature in the official Debian package could be a problem. Building the deb package could include running these tests, that require the feature. Therefore I think the Debian package indeed should enable all features.

from rust-ascii.

silwol avatar silwol commented on June 12, 2024

@tormol With my debian maintainer hat on, I would really appreciate your suggested solution of removing the quickcheck dependency. Would facilitate maintenance significantly.
@tomprogrammer We are indeed right now starting to use autopkgtests which run tests for all features during build :-)

from rust-ascii.

tormol avatar tormol commented on June 12, 2024

quickcheck feature has been removed with version 1.0.0.

Sorry it took me so long to finish up #63.

from rust-ascii.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.