Giter VIP home page Giter VIP logo

linux-packaging-rs's Introduction

linux-packaging-rs

This repository contains a collection of Rust crates related to Linux packaging.

See the various project directories for more.

linux-packaging-rs's People

Contributors

abdur-rahmaanj avatar b3ql avatar brejoc avatar chenxiaolong avatar chrissimpkins avatar codifryed avatar dae avatar danielshaulov avatar duarteocarmo avatar dunkmann00 avatar durin42 avatar dvc94ch avatar gi0baro avatar grushton-lidya avatar indygreg avatar jayvdb avatar mrmacete avatar nealmcb avatar pouyamiralayi avatar ralpha avatar ramiro avatar roblabla avatar ssbr avatar stuhood avatar tipuch avatar touilleman avatar trevyn avatar ufx avatar warsaw avatar wkschwartz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

linux-packaging-rs's Issues

Float timestamp values in RPM `repomd.xml` file

Hello,

I found some float timestamp values in the repomd.xml file of RPM repository (private repository handle by Cobbler).

It can be handled by using Option<f64> instead of Option<u64>.
If you are ok, I can send you a Pull Request (the update with test are already done).

Jonathan

warning: the following packages contain code that will be rejected by a future version of Rust

using debian_packaging v0.15.0
and

rustc --version
rustc 1.68.1

after a cargo check I got:

    Finished dev [unoptimized + debuginfo] target(s) in 0.15s
warning: the following packages contain code that will be rejected by a future version of Rust: buf_redux v0.8.4, nom v4.2.3
note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 122`

both seem to be coming from the pgp dep:
cargo tree

    ├── pgp v0.8.0
│   │   ├── aes v0.7.5
...
│   │   │   └── opaque-debug v0.3.0
│   │   ├── buf_redux v0.8.4
...
│   │   │   └── opaque-debug v0.3.0
│   │   ├── nom v4.2.3
│   │   │   └── memchr v2.5.0
│   │   │   [build-dependencies]

I made a bare repo with just pgp and found that once I brought it up to version 0.10.0 I no longer had the warning

`debian-repo-tool` is unable to copy some recent Ubuntu repositories

(using main, which is currently commit a00f146 - just two commits after debian-packaging/0.16.0. Shouldn't be platform-specific, but most of my testing was with cargo/rustc 1.71.0 on an Ubuntu focal x86_64 host.)

While trying to mirror the Ubuntu focal distribution to local media, I ran across what appears to be a difference in how Debian and Ubuntu structure their trees of Contents files. The result is that debian-repo-tool panics part of the way through the Ubuntu copy. The same panic happens with Ubuntu jammy.

The full backtrace is a little messy (and currently lost in the scrollback), but by printing out some of the fields, I think it is because the Ubuntu archive has a single Contents-<arch> file at the root of the dist, and Debian has several <component>/Contents-<arch> files. This throws off the release file parsing, and the code tries to start the slice at -1 in impl<'a> TryFrom<ReleaseFileEntry<'a>> for ContentsFileEntry<'a>:

let component = &entry.path[..entry.path.len() - filename.len() - 1];

I'm attaching a YAML file that reproduces the error, though I admit that it is not the most efficient (I think it ends up copying 2GB before panicking). Open to suggestions on how you think a smaller unit test should look (e.g. throw in the whole Release file for Ubuntu, or just an excerpt inline).

The patch is also not my finest work (still working through the early chapters of The Rust Book), but I got a little lost tracking down whether the rest of the code really handles component == "" (which is I guess how you might label the Ubuntu Contents-<arch> file), so it just returns DebianError::ReleaseIndicesEntryWrongType if there is no component directory prefix. From what I can tell, applying that patch allows me to make a mostly-functional copy of the Ubuntu jammy repository.

Thanks for open-sourcing this code!

Restore RPM reading functionality

I had to rip out RPM reading support from linux-package-analyzer because the rpm-rs crate appears to be unmaintained and its lack of modern dependencies is making it difficult to keep dependencies modern.

This issue tracks restoring the functionality.

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.