[Rpm-maint] [rpm-software-management/rpm] Don't auto-enable IO flushing on non-rotational disks (#1253)

2020-06-03 Thread Panu Matilainen
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)

2020-06-03 Thread Panu Matilainen
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)

2020-06-03 Thread Panu Matilainen
> 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)

2020-06-03 Thread Florian Festi
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)

2020-06-03 Thread Panu Matilainen
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)

2020-06-03 Thread Panu Matilainen
@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)

2020-06-03 Thread Florian Festi
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)

2020-06-03 Thread Panu Matilainen
@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)

2020-06-03 Thread Panu Matilainen
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)

2020-06-03 Thread Panu Matilainen
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)

2020-06-03 Thread Florian Festi
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)

2020-06-03 Thread Florian Festi
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)

2020-06-03 Thread Panu Matilainen
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)

2020-06-03 Thread Panu Matilainen
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)

2020-06-03 Thread Panu Matilainen
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)

2020-06-03 Thread Panu Matilainen
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)

2020-06-03 Thread Florian Festi
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)

2020-06-03 Thread jessorensen
> 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)

2020-06-03 Thread jessorensen
@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)

2020-06-03 Thread jessorensen
@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)

2020-06-03 Thread jessorensen
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)

2020-06-03 Thread Panu Matilainen
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)

2020-06-03 Thread Panu Matilainen
@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