[Rpm-maint] [rpm-software-management/rpm] Don't auto-enable IO flushing on non-rotational disks (#1253)
Commit 47e2463d8a98a7535e141d59d17be17d5a30862c added logic to enable %_flush_io automatically on non-rotational disks to avoid trashing system caches and IO peaks on the grounds that this isn't so expensive on SSD, but real world experience suggests otherwise. Install times go from seconds to minutes which might not matter for the random individual system but for build systems and the like churning away continuously... You can view, comment on, or merge this pull request online at: https://github.com/rpm-software-management/rpm/pull/1253 -- Commit Summary -- * Don't auto-enable IO flushing on non-rotational disks -- File Changes -- M lib/transaction.c (2) -- Patch Links -- https://github.com/rpm-software-management/rpm/pull/1253.patch https://github.com/rpm-software-management/rpm/pull/1253.diff -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/pull/1253 ___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint
Re: [Rpm-maint] [rpm-software-management/rpm] Fix: bump up the limit of signature header to 64MB (#1252)
Merged #1252 into master. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/pull/1252#event-3400896760___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint
Re: [Rpm-maint] [rpm-software-management/rpm] Fix: bump up the limit of signature header to 64MB (#1252)
> So [1] missed to multiply by 1024. Whoops :rofl: Thanks for spotting and the fix! -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/pull/1252#issuecomment-638027350___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint
Re: [Rpm-maint] [rpm-software-management/rpm] Don't auto-enable IO flushing on non-rotational disks (#1253)
This patch should also change the comment in macros.in as -1 no longer means auto detection. Otherwise this is obviously fine. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/pull/1253#issuecomment-638046886___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint
Re: [Rpm-maint] [rpm-software-management/rpm] Don't auto-enable IO flushing on non-rotational disks (#1253)
Gah, true. Thanks for spotting, fixed now. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/pull/1253#issuecomment-638058732___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint
Re: [Rpm-maint] [rpm-software-management/rpm] Don't auto-enable IO flushing on non-rotational disks (#1253)
@pmatilai pushed 1 commit. a5e0532b6f276feb2d6fe92483d51d0b92fe09d7 Don't auto-enable IO flushing on non-rotational disks -- You are receiving this because you are subscribed to this thread. View it on GitHub: https://github.com/rpm-software-management/rpm/pull/1253/files/ca78aff0bcf36b480e9776535ab3e74dbb5a8f50..a5e0532b6f276feb2d6fe92483d51d0b92fe09d7 ___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint
Re: [Rpm-maint] [rpm-software-management/rpm] Don't auto-enable IO flushing on non-rotational disks (#1253)
Merged #1253 into master. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/pull/1253#event-3401230871___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint
Re: [Rpm-maint] [rpm-software-management/rpm] Fix python ts.addErase() not raising exception on not-found packages (#1251)
@pmatilai pushed 1 commit. f7dec8c4a4661cdce945c999c49cba7b2403a2c8 Fix python ts.addErase() not raising exception on not-found packages -- You are receiving this because you are subscribed to this thread. View it on GitHub: https://github.com/rpm-software-management/rpm/pull/1251/files/917c3ecf6b0bc0ad18af2c4936e1a0b22aa09769..f7dec8c4a4661cdce945c999c49cba7b2403a2c8 ___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint
Re: [Rpm-maint] [rpm-software-management/rpm] Fix python ts.addErase() not raising exception on not-found packages (#1251)
Okay @ffesti pointed out that the initial version was buggy too if multiple entries were being processed, and the logic wasn't that clear anyway. Updated to just test for no matches-case explicitly, which is much more obvious. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/pull/1251#issuecomment-638090455___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint
Re: [Rpm-maint] [rpm-software-management/rpm] RPM fsverity support (#1203)
Okay, this sounds like its headed to the right direction then, I agree this seems like something where the kernel needs to deal with it because it's the only thing that can. I see block size is an argument passed to the ioctl() that enables this fsverity for a file, but what does that actually mean? Can individual files have different block size for their Merkle tree? In the current state of things it seems more like a hardwired global'ish thing. What I'm getting at is that if we make block size a configurable thing in rpm, then the kernel will really need to support different block sizes for individual files as rpms come from variety of sources and might be signed with different options. I'm tempted to say lets just go with a hardwired 4K size for now to keep things simple, we can always add another tag for alternative block size if it becomes necessary for one reason or another. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/pull/1203#issuecomment-638092594___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint
Re: [Rpm-maint] [rpm-software-management/rpm] Fix python ts.addErase() not raising exception on not-found packages (#1251)
Still not quite sure what the right behaviour is here. Raising the exception when passing in an non existing header number is all fine. It may also be fine for a name/label that is not found in the rpmdb. Where things get murky is when passing in an empty match iterator. I could imagine some code may rely on this just working and doing nothing. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/pull/1251#issuecomment-638149568___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint
Re: [Rpm-maint] [rpm-software-management/rpm] Notify other programs when the rpmdb is changed via DBus (#1249)
Question here is what to actually send over the bus. For the initial use case just announcing the end of a transaction is enough. This allows long running processes to clue in on other tools changing the rpmdb. But there is obviously more that could be done: Announcing the start of a transaction may be used to signal in the UI that the rpmdb is currently blocked and the user has to wait before doing any transactions themselves. We could also send over the content of the transaction (may be as operation, NEVRA, hash, id tuples) or send each package that just finished. Otoh this may be seen as an invitation to do something like triggers outside of rpm. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/issues/1249#issuecomment-638158114___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint
Re: [Rpm-maint] [rpm-software-management/rpm] Fix python ts.addErase() not raising exception on not-found packages (#1251)
So that empty iterator will pass right through because that iterator is never false (another quirk in there, deity knows how long), and this new revision actually reintroduced the specific bug this was supposed to fix. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/pull/1251#issuecomment-638165675___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint
Re: [Rpm-maint] [rpm-software-management/rpm] Fix python ts.addErase() not raising exception on not-found packages (#1251)
Eh, this is so broken I doubt anybody can have relied on any particular behavior. On RPMDBI_PACKAGES mi is always true whether there is something on it or not, but eg 'name' matches actually mean something. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/pull/1251#issuecomment-638177524___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint
Re: [Rpm-maint] [rpm-software-management/rpm] Fix python ts.addErase() not raising exception on not-found packages (#1251)
Eg: ``` >>> bool(ts.dbMatch('packages', 123456789)) True >>> bool(ts.dbMatch('name', 'xzyd')) False >>> bool(ts.dbMatch('name', 'rpm')) True ``` -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/pull/1251#issuecomment-638179284___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint
Re: [Rpm-maint] [rpm-software-management/rpm] Fix python ts.addErase() not raising exception on not-found packages (#1251)
All that said, I do agree that allowing an empty match iterator to be passed in seems like a useful case to support. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/pull/1251#issuecomment-638184649___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint
[Rpm-maint] [rpm-software-management/rpm] Psmpre and psmpost plugin callbacks executed multiple times per package (#1254)
As psmpre and psmpost callbacks are basically used to report on the installed/removed packages one would think each of them is called exactly once per package. Unfortunately rpmpsmRun - which triggers them - is also called for other occasions like executing %posttrans and %verify scriptlets and checking the transaction. This is made worse by the callbacks neither providing the goal passed to rpmpsmRun nor an rpmts instance. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/issues/1254___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint
Re: [Rpm-maint] [rpm-software-management/rpm] RPM fsverity support (#1203)
> Okay, this sounds like its headed to the right direction then, I agree this > seems like something where the kernel needs to deal with it because it's the > only thing that can. > > I see block size is an argument passed to the ioctl() that enables this > fsverity for a file, but what does that actually mean? Can individual files > have different block size for their Merkle tree? In the current state of > things it seems more like a hardwired global'ish thing. > > What I'm getting at is that if we make block size a configurable thing in > rpm, then the kernel will really need to support different block sizes for > individual files as rpms come from variety of sources and might be signed > with different options. > > I'm tempted to say lets just go with a hardwired 4K size for now to keep > things simple, we can always add another tag for alternative block size if it > becomes necessary for one reason or another. The block_size argument is used as follows: When fsverity is enabled on a file, the kernel will build a Merkle tree for the file, using the specified block size. In addition the signature signs the root hash of the Merkle tree, so the block size has to match that used to generate the signature, for it to validate. Each file can use a different block size for it's Merkle tree, but I think it's fine for RPM to mandate what block size it's willing to generate. As you say, we can add a tag for the block size later if we find a need for it. I'll update the code to use 4K. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/pull/1203#issuecomment-638308319___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint
Re: [Rpm-maint] [rpm-software-management/rpm] RFE: Support rpm version comparison in expressions (#1233)
@jessorensen commented on this pull request. > @@ -15,6 +15,7 @@ #include #include +#include This change breaks the build for me here: ``` libtool: compile: gcc -DHAVE_CONFIG_H -I.. -I.. -I../include/ -I../misc -DRPMCONFIGDIR=\"/usr/lib/rpm\" -DLOCALSTATEDIR=\"/var\" -I../luaext/ -D_REENTRANT -Wall -Wpointer-arith -Wmissing-prototypes -Wstrict-prototypes -fno-strict-aliasing -fstack-protector -Wempty-body -g -O2 -MT expression.lo -MD -MP -MF .deps/expression.Tpo -c expression.c -fPIC -DPIC -o .libs/expression.o expression.c:18:10: fatal error: rpm/rpmver.h: No such file or directory 18 | #include | ^~ compilation terminated. ``` Should it be "rpmio/rpmver.h" ? -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/pull/1233#pullrequestreview-423736825___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint
Re: [Rpm-maint] [rpm-software-management/rpm] RFE: Support rpm version comparison in expressions (#1233)
@jessorensen commented on this pull request. > @@ -15,6 +15,7 @@ #include #include +#include Nevermind, doing a git reset --hard, cleared some local changes to preinstall.am, which fixed it. Sorry for the noise. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/pull/1233#discussion_r434706096___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint
Re: [Rpm-maint] [rpm-software-management/rpm] RPM fsverity support (#1203)
I have pushed the update - let me know if there's anything else that needs addressing. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/pull/1203#issuecomment-638332707___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint
Re: [Rpm-maint] [rpm-software-management/rpm] Psmpre and psmpost plugin callbacks executed multiple times per package (#1254)
That they get called multiple times could be considered a feature too, for example a plugin could hook in there to be able to do stuff each time a package file is opened. Rather than try bend those to something different, I think we'd be better off with actual install/erase hooks. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/issues/1254#issuecomment-638620235___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint
Re: [Rpm-maint] [rpm-software-management/rpm] RFE: Support rpm version comparison in expressions (#1233)
@pmatilai commented on this pull request. > @@ -15,6 +15,7 @@ #include #include +#include Yup, preinstall.am sometimes needs a little kick (aka rm -f) when public headers change. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/pull/1233#discussion_r435010083___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint