Comments (7)
Separately: this (calculating the header byte range) kind of feels like functionality that librpm ought to provide rather than be implemented in createrepo_c. createrepo_c shouldn't be in the business of parsing RPM files and making assumptions about their structure?
from createrepo_c.
I think it sound reasonable to remove part of the code in createrepo_c and replace it by calling function from rpm-libs.
In the first place we have to investigate whether both functions returns compatible outputs.
In the second part we have to ask RPM team whether they would expose headerSizeof()
as API. May I ask you @pmatilai for an opinion?
from createrepo_c.
I think it's already exposed? It's listed in the documentation.
from createrepo_c.
@pmatilai see discussion
from createrepo_c.
Maybe the reason is that there isn't a version of rpmReadPackageFile()
/ rpmReadHeader()
that works with the signature header? If you can't calculate the size / padding, you can't finish the calculation. But you could probably still simplify it.
from createrepo_c.
I did eventually figure out the magic constants, I'll make a PR eventually to clean the code up a bit.
from createrepo_c.
The fact that there's no way to get back a pair of signature and normal headers, and that the API merges the headers together, makes this impossible.
from createrepo_c.
Related Issues (20)
- [FIX] Build from 'master' branch is broken HOT 3
- `_XOPEN_SOURCE` define in `src/misc.c` seems extraneous
- Drop `--database` and `--no-database`, split?/drop `sqliterepo_c` HOT 5
- Sending SIGTERM to "createrepo_c --workers 2" sometimes leads to a crash HOT 6
- `--pkglist` can't be used with non-regular files
- Parsing primary.xml error: Start tag expected, '<' not found HOT 4
- heap buffer overflow and stack buffer overflow in test suite HOT 3
- Intermittent crash in `ci-dnf-stack/dnf-behave-tests/createrepo_c/zchunk.feature` HOT 1
- Python bindings fail to add the default version for sqlite records
- Has `--deltas` option been removed? HOT 9
- Brainstorm ways to shrink RPM metadata HOT 5
- Fix the building process to drop documentation for disabled features
- Newer createrepo_c doesn't generate comps readable EL7 HOT 27
- sqlite3_enable_shared_cache HOT 1
- `modifyrepo_c` and `mergerepo_c` generate `--no-pretty` metadata by default
- createrepo_c zstd compression doesn't fill in the content size, in the frame header. Python API problems. HOT 4
- Allow parsing packages metadata without filelists HOT 2
- cr_xml_dump_int() should point to a forbidden character HOT 2
- how does src rpm by pass sub packages in conditons HOT 2
- Removing older versions from the repo. HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from createrepo_c.