Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-27 Thread Panu Matilainen
Yay! 拾 

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1653819061
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-25 Thread Michal Domonkos
Merged #2559 into master.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#event-9914809711
You are receiving this because you are subscribed to this thread.

Message ID: 
___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-25 Thread Michal Domonkos
Alright, let's get this done now.

The commits should now be fairly self-contained and I also removed some bits in 
the final version of this PR that were just premature generalization on my part 
(e.g. [this 
comment](https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1633719443)).
 The resulting changeset is as minimal as feasible.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1650286274
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-25 Thread Michal Domonkos
@dmnks pushed 1 commit.

1c23ff53cd33d04703e636e8058f4d14eee2d03c  Add mktree.podman backend

-- 
View it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559/files/ab81ed980c2ef353f0ea1a1da71754e4d3963fc2..1c23ff53cd33d04703e636e8058f4d14eee2d03c
You are receiving this because you are subscribed to this thread.

Message ID: 
___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-25 Thread Michal Domonkos
@dmnks pushed 1 commit.

6d1f811969303a894d9f57a0777a9813409adb23  Add mktree.podman backend

-- 
View it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559/files/4f4d4e93dcd77d466ab395463a340897c7aca1d1..6d1f811969303a894d9f57a0777a9813409adb23
You are receiving this because you are subscribed to this thread.

Message ID: 
___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-25 Thread Michal Domonkos
@dmnks pushed 24 commits.

de6156ae7d12ecea1feff9eaaed60e5b36f92d70  Silence awk if no RPM_CONFIGDIR in 
atlocal
344a908aea39ff70043f4c25fee8aac6969e0e02  Refactor mktree
9a14319af22073a8673d4e758b4e085c3c3ac077  Rename sandbox() to snapshot()
8db3e440dbe87655262c8df3d26c5edf67de86bb  Use $RPMTEST in dir check
46a265a3214caa7b20da7a0557df0b356d3aef62  Bootstrap a self-contained OS image 
with mktree
4548dbe6fef7ad7299448b998376dac879c2f292  Automatically remove test image on 
"make clean"
bf8076d71eee604d69b0d4304cfe2953fc311e26  Add support for "make env"
7998e9d64431c73e55540d07b850f1ecbf36659b  Add RPM_CONFIGDIR_PATH to atlocal
f1020c95021642b36ff5541f59b3064fe96d46da  Replace fakechroot with proper 
container tech
8a3fced6f33a649260d9bdae0459a1b6ac6df274  Start with clean environment in bwrap 
containers
33f4bd0a6d721d7e61584f28e2c9f27662c95f32  Add support for "make shell"
f7ead75e097e634dc22504a16b124eeb5f2dfdf3  Mention new test features in README
4d699a4114ff82d720f68cf5fbc940fed5be1954  Containerize the whole test-suite
abce132cc5b2ba5707fa4725dd2f255e57849f17  Base per-test snapshots on the root 
filesystem
ff867c9dfe029f2b3e6c50f43ae8dd56416fe681  Add convenience DNF wrapper to "make 
env"
267a45ba928928cd2b32b5d1a947ccae3c692520  Place TESTPROGS binaries into PATH
5d73ca3360fbe45d7efc13581243cad1cf22ec73  Rename mktree.in
0c9eae97d4307f1422d49103693f817ef7e2baf6  Add support for mktree backends
a9be54858d49cac290cd71d909d73d1178c35349  Drop ci/ directory, move Dockerfile 
to tests/
99fa4d30727262bc8517c888cd38e87cbc6b698e  Turn Dockerfile into a standalone RPM 
image
85759669da80b0ab7aaee5cd226020614290cf86  Add mktree.common
c1e4b1990e4c3723abf9a893b486d33edc45573f  Refactor cmake
86a5cba15f846ee02e0c7f4d400b27695471e97a  Add mktree.rootfs backend
4f4d4e93dcd77d466ab395463a340897c7aca1d1  Add mktree.podman backend

-- 
View it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559/files/a411270af569c8aacd6fdc8bb74c452351472b10..4f4d4e93dcd77d466ab395463a340897c7aca1d1
You are receiving this because you are subscribed to this thread.

Message ID: 
___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-13 Thread Panu Matilainen
> What do we do if we want to run the test suite on non-Linux? Like macOS?

You can send patches once this has been merged :wink:

Fakechroot is being replaced because it's a brittle hack that is severely 
hindering our ability to test rpm everywhere, including the primary platform 
Linux. This is about adopting better technology to be able to fully test rpm on 
it's primary target platform, other platforms are quite frankly little more 
than curiosities. For which we accept patches though.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1633735407
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-13 Thread Panu Matilainen
> Anyway, the timing of your question was just right as I had been 
> contemplating just about the same thing, i.e. whether to decouple the test 
> suite completely from the sandboxing method used or make bwrap hardwired. 
> (It's also one of the reasons this PR is still not merged, sigh.)

Do NOT worry about such things now.

We need this groundwork in rpm now. It can always be improved later on.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1633719443
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-12 Thread Demi Marie Obenour
@dmnks There is a FUSE implementation of OverlayFS that also supports the BSDs.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-165921
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-12 Thread Michal Domonkos
> At that point, adding a legacy backend using fakechroot (or just chroot 
> perhaps) would be a possibility and while I won't make any promises, I 
> _might_ look at that later.

Hmm, I totally forgot that `chroot` alone wouldn't suffice, the system would 
also need to have something like overlayfs and that's only available on Linux 
AFAIK.

Overlayfs is used here to create CoW snapshots of the root filesystem, as 
obviously making an actual copy for each test is too expensive and slow. The 
old test suite works around this by cherry picking the core files and 
directories to symlink into the per-test tree and lets fakechroot do its 
trickery where it resolves those symlinks outside of the jail while making it 
appear like a regular `chroot`. This kind of trickery is one of the reasons we 
want to get rid of fakechroot as it's unpredictable and has weird side effects.

So it turns out the new test suite will only support Linux systems for the time 
being. However, since it's made extensible, one can write a backend for 
non-Linux systems that uses a CoW technology native to the given platform.

Adding a backend using fakechroot + symlinks (i.e. the old approach) would be 
possible, too, but I don't think we want to go in that direction since removing 
fakechroot is the main motivation for this PR (and the associated #1580).

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1633321474
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-12 Thread Michal Domonkos
Anyway, the timing of your question was just right as I had been contemplating 
just about the same thing, i.e. whether to decouple the test suite *completely* 
from the sandboxing method used or make bwrap hardwired. (It's also one of the 
reasons this PR is *still* not merged, sigh.)

This is a useful data point since it basically confirms that it's probably 
worth adding that, especially since it's a pretty small  and easy patch on top 
of this branch.

Our no. 1 goal here is to get rid of fakechroot. In order to do that, though, 
we had to refactor and decouple the test suite from it, and so making that 
separation complete kinda makes sense.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1632474257
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-12 Thread Michal Domonkos
> Oh, so you do have a fakechroot build (in that VM) that works fine with the 
> test suite, correct?

Nah, disregard that, you just confirmed that in your reply:

> but [fakeroot](https://salsa.debian.org/clint/fakeroot) is supposed to work 
> on macOS and is [available via 
> homebrew](https://formulae.brew.sh/formula/fakeroot).

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1632460566
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-12 Thread Michal Domonkos
Oh, so you do have a fakechroot build (in that VM) that works fine with the 
test suite, correct?

I mean, it's not a huge program with a lot of dependencies anyway (and 
`chroot()`, which AFAIK is used underneath, is a POSIX function, as you said), 
so it's probably easier to port than a full container/namespace tool.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1632438126
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-12 Thread Neal Gompa
I have a virtual machine with macOS that I do destructive things in. 
Occasionally that includes running the test suite, but even just making a build 
environment for RPM in macOS manually (and avoiding homebrew) is pretty messy, 
so I do all that work in a dedicated virtual machine.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1632415849
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-12 Thread Michal Domonkos
> Darwin has `chroot()` like all POSIX systems. I'm not sure if `fakechroot` 
> works on Darwin, but [`fakeroot`](https://salsa.debian.org/clint/fakeroot) is 
> supposed to work on macOS and is [available via 
> homebrew](https://formulae.brew.sh/formula/fakeroot).
> 
> Darwin also has the sandbox API (which Apple has also called "Seatbelt"). The 
> best reference of this is [the one from 
> Chromium](https://www.chromium.org/developers/design-documents/sandbox/osx-sandboxing-design/).

Thanks. That alone is a good reason to perhaps really decouple the sandboxing 
technology from the test suite (and let the mktree backends responsible for 
providing it). I'll think about it.

How did you run the test suite on MacOS until now (or did you)?

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1632409982
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-12 Thread Michal Domonkos
Since I already started describing the new architecture, here's a perhaps 
simpler outline of how it works now (`mktree` is wired into the `make`):

1) `mktree build`
  * builds a base OS tree
  * builds RPM natively and make installs it into the base OS tree
2) `mktree check`
  * runs `rpmtests` in a container (on top of the OS tree), e.g. with bwrap or 
podman (depending on the backend used)
* test1
  * `run rpm ...` (runs "natively" in the container, shouldn't make 
destructive changes)
* test2
  * `runroot rpm ...` (runs in a per-test bwrap container, this enables 
destructive changes)
  * `ls $RPMTEST`
* ...

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1632406555
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-12 Thread Neal Gompa
Darwin has `chroot()` like all POSIX systems. I'm not sure if `fakechroot` 
works on Darwin, but [`fakeroot`](https://salsa.debian.org/clint/fakeroot) is 
supposed to work on macOS and is [available via 
homebrew](https://formulae.brew.sh/formula/fakeroot).

Darwin also has the sandbox API (which Apple has also called "Seatbelt"). The 
best reference of this is [the one from 
Chromium](https://www.chromium.org/developers/design-documents/sandbox/osx-sandboxing-design/).

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1632398392
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-12 Thread Michal Domonkos
Bubblewrap (bwrap) is used here to create fast, ephemeral per-test containers 
(*snapshots*) of the root filesystem. This replaces the former use of 
fakechroot. The whole test suite (the `rpmtests` script) assumes that the RPM 
build to be tested is installed into the root filesystem.

That means, in most scenarios, you'd want the test suite to run in a container 
with RPM installed and ready to use. That's what the `mktree` script does - it 
creates such an OS tree (i.e. image) and runs a container on top with 
`rpmtests`.

Now, the `mktree` script can have multiple implementations (*backends*). For 
example, one can use the host package manager to build the OS tree (e.g. DNF on 
Fedora) while another one can utilize `podman`. Both examples have their pros 
and cons (which is why backends are supported) but I won't go into the details 
now.

So to run the test suite, your platform needs to have bwrap ported and a 
suitable mktree backend to build the image.

The latter can be easily accomplished almost anywhere since in the worst case, 
the backend can always download a prebuilt OS tree tarball, or even copy 
(reflink) the necessary libraries and binaries from the host system into place 
(much like what we did with fakechroot).

The former (bwrap), however, is currently a strict requirement. That said, I 
was actually thinking of moving the bwrap logic into the mktree backends and 
have them define the per-test isolation method, instead of it being hardwired 
into the test suite. That way, one could write a "legacy" backend that 
basically does exactly what fakechroot did.

BTW, is fakechroot ported to MacOS? Or does Darwin have any containerization 
support?

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1632369824
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-12 Thread Neal Gompa
What do we do if we want to run the test suite on non-Linux? Like macOS?

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1632247013
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-11 Thread Michal Domonkos
@dmnks pushed 1 commit.

a411270af569c8aacd6fdc8bb74c452351472b10  Add podman backend

-- 
View it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559/files/69d58a69a24e5fc62a6ddb3ff6012ceb598c34ad..a411270af569c8aacd6fdc8bb74c452351472b10
You are receiving this because you are subscribed to this thread.

Message ID: 
___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-11 Thread Michal Domonkos
@dmnks pushed 14 commits.

4a5d0014c0c3a7e62eeed33347a7bd0098dc3b74  MVP mktree
aee1113fe3dac38832e83c0d4258d1ee71883f25  Add env cmd
ce9e62fb4fa50f8887e8bba561a188781eb30c60  Add .mktree.env
db9edac6547fc63a2267e5e65b5b89b633d575b3  Add RPM_CONFIGDIR_PATH
e1a9fbd440fbd835ae6ca1f9c70e582145a74d23  MVP bwrap
b8818ca60fac58e40f0e38f73855910fb69a56b8  Clearenv
87be3c089b02af7247c0efd69cfc0259581038f4  Add shell cmd
c7a4cfe3cbb715cdd83440ef5c494db3df55c283  MVP isolation
4b14749bcbab9210d888420c4e7399ac21f18e75  Make TESTPROGS standalone
6351e20c081f8f0b9b581884279a494e89d2100f  Add mktree.common
2433ae71cd773704344a8475ff2689cc4eea358d  Add backend support
47d1f955aa3ef2e5e5a6fc769b417005aae189b8  Drop ci/ directory, move Dockerfile 
to tests/
e25d7d2242b47e7050f8d0ebe149d7513439  Turn Dockerfile into a standalone RPM 
image
69d58a69a24e5fc62a6ddb3ff6012ceb598c34ad  Add podman backend

-- 
View it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559/files/34a51dc080fae37da9c6fb655b536599ffdd767a..69d58a69a24e5fc62a6ddb3ff6012ceb598c34ad
You are receiving this because you are subscribed to this thread.

Message ID: 
___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-11 Thread Michal Domonkos
@dmnks pushed 13 commits.

f514cba0080a9f3cd5054102cdfddfa7107c5b28  MVP mktree
a9b2206697f572d861ac91b115f92ef5231b484f  Add env cmd
18a10e7d347c5da6dcc88b90ce6fb84ee611174d  Add RPM_CONFIGDIR_PATH
1c593ba4fdb0f109a54a1d200d0d348f4427f7d5  MVP bwrap
f9332e449eb93faba06ca5fe33c4e431107b63aa  Clearenv
fe1ee417572445d44592d532fe78bce4e8303bf4  Add shell cmd
99ee4cac1de8641de2d3f8032fb5d7de86ecc769  MVP isolation
cf334778f2670574b5b9c14cef3fa3b01b78a681  Make TESTPROGS standalone
d26c1d761242c30be6a2299c538ce678c59b5ad1  Move install() to mktree.common
8e2d1198dbd1d0882e5ca041e79b22fbdce7ceb7  Add backend support
a93b73ff935258a12df60ec5a0efd0c09c17facd  Drop ci/ directory, move Dockerfile 
to tests/
ff6fe4f3304639402979f0b5ffb7c778504404fe  Turn Dockerfile into a standalone RPM 
image
34a51dc080fae37da9c6fb655b536599ffdd767a  Add podman backend

-- 
View it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559/files/5f2d2c8c626f02067315616aa4522db58649fa29..34a51dc080fae37da9c6fb655b536599ffdd767a
You are receiving this because you are subscribed to this thread.

Message ID: 
___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-10 Thread Michal Domonkos
@dmnks pushed 14 commits.

264e3fd338153d623d9f56d1659f7132585ffd37  Rename .output -> .check
51b9ceec3d764e395a96dec1b2b7109546785dbf  MVP mktree
e87ecf85e3566a060ad5be08a7dd84ee134eb799  Add env cmd
40056bb43b4348c187f74463a68f3f8262b7ca40  Add RPM_CONFIGDIR_PATH
afbc727365b5604886111d4c0e3dea4bf8d0a92e  MVP bwrap
0b5616aabce250742469f667b890a8ea3113222b  Clearenv
717ef794dc6c5e0157624e8b6874fe16a74cf763  Add shell cmd
7c823d659c19c287f56dd88c401dd54add934117  MVP isolation
45a7f244be7de3ee131540e919532d2a0c70a75c  Make TESTPROGS standalone
be82aae103706aee5940e759639c36b76ac7a5e2  Move install() to mktree.common
59a52b1d8e7dea0122694e09bcd0cee232bb9953  Add backend support
7419edaaacf4d1e46b7abf2091e3af11bb05049d  Drop ci/ directory, move Dockerfile 
to tests/
825f5de049a0cffe7a65c06ac6594abf01239343  Turn Dockerfile into a standalone RPM 
image
5f2d2c8c626f02067315616aa4522db58649fa29  Add podman backend

-- 
View it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559/files/2ded022a696838f7b6c1ce7fe7174d22777e8a75..5f2d2c8c626f02067315616aa4522db58649fa29
You are receiving this because you are subscribed to this thread.

Message ID: 
___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-07 Thread Michal Domonkos
@dmnks pushed 1 commit.

2ded022a696838f7b6c1ce7fe7174d22777e8a75  Add podman backend

-- 
View it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559/files/58a1e437fc1a3447b4ac976f43a10adc39c069b1..2ded022a696838f7b6c1ce7fe7174d22777e8a75
You are receiving this because you are subscribed to this thread.

Message ID: 
___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-07 Thread Michal Domonkos
@dmnks pushed 4 commits.

f9b9e0e116ad1d13b65b4064f7382a3b132a791e  Replace fakechroot with bwrap
a02c68989f0d1741772fab9730fced67ae4dc89a  Drop ci/ directory, move Dockerfile 
to tests/
bf0e8bfb5710330d2b22b3033cbfa88a3f5dea52  Turn Dockerfile into a standalone RPM 
image
58a1e437fc1a3447b4ac976f43a10adc39c069b1  Add podman backend

-- 
View it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559/files/bf813ab28be029683ac35c6de5d046386736cea2..58a1e437fc1a3447b4ac976f43a10adc39c069b1
You are receiving this because you are subscribed to this thread.

Message ID: 
___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-07 Thread Michal Domonkos
@dmnks pushed 4 commits.

222538da27e5edc686b7a06e97c3290fb0581eb9  Replace fakechroot with bwrap
e0f5f8fca9e7d765728f9c739a534c63e6cf70d7  Drop ci/ directory, move Dockerfile 
to tests/
c9308144d95136fb67ebbb3c1989fd0589a1d971  Turn Dockerfile into a standalone RPM 
image
bf813ab28be029683ac35c6de5d046386736cea2  Add podman backend

-- 
View it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559/files/e9e292cd90771d4cd895f20c32b1b2f2f8586d94..bf813ab28be029683ac35c6de5d046386736cea2
You are receiving this because you are subscribed to this thread.

Message ID: 
___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-07 Thread Michal Domonkos
@dmnks pushed 6 commits.

27331917eb4366a10869427f811bc605752c7e88  Actually ensure no rpmdb in "no 
rpmdb" test
dbbc4e9811f7ce7a846b76ad9fb8c16ffbe0d82b  Silence awk if no RPM_CONFIGDIR in 
atlocal
994d1b0abe19ea14407b5848b7125ba463fa1692  Replace fakechroot with bwrap
643431462fc6588f8c834679604c44cdc60b30cb  Drop ci/ directory, move Dockerfile 
to tests/
c2b26d0a440d787fb0b39eb220ee1c88a7f51e96  Turn Dockerfile into a standalone RPM 
image
e9e292cd90771d4cd895f20c32b1b2f2f8586d94  Add podman backend

-- 
View it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559/files/ba798a1146aabd6103558195f6071c626ed3f86a..e9e292cd90771d4cd895f20c32b1b2f2f8586d94
You are receiving this because you are subscribed to this thread.

Message ID: 
___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-07 Thread Panu Matilainen
@pmatilai approved this pull request.

I don't claim to have understood, or even tried, everything this does. It's 
remarkably neat and tidy for such big change though. Good job :+1: 

Feel free to hit merge once CI passes. 



-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#pullrequestreview-1518757442
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-07 Thread Panu Matilainen
Oh yup. Semi-final, not final :smile: 

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1625339177
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-07 Thread Michal Domonkos
> That final "Replace fakechroot with bwrap" commit could use a little more 
> elaborate commit message though. Like a brief description of the setup this 
> creates smile

Yup, on the todo list above :laughing: 

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1625337002
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-07 Thread Panu Matilainen
Test-suite passes locally :+1: 

That final "Replace fakechroot with bwrap" commit could use a little more 
elaborate commit message though. Like a brief description of how the setup this 
creates :smile: 

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1625334145
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-07 Thread Michal Domonkos
OK, pushed a semi-final version of this branch. Please note the CI will now 
fail since there's no podman/docker backend yet. That's in progress now :grin: 

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1625318978
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-07 Thread Michal Domonkos
@dmnks pushed 3 commits.

ebbda3d41dfa876bb60e1ea82efbe33b837d52fb  Actually ensure no rpmdb in "no 
rpmdb" test
47acf07be8309f7492d79daf1afc7cdf01464202  Silence awk if no RPM_CONFIGDIR in 
atlocal
ba798a1146aabd6103558195f6071c626ed3f86a  Replace fakechroot with bwrap

-- 
View it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559/files/2b0ff3cacdd60247c7ac25d288c1ca3584667107..ba798a1146aabd6103558195f6071c626ed3f86a
You are receiving this because you are subscribed to this thread.

Message ID: 
___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-06 Thread Michal Domonkos
Just FTR, I have a 
[simplified](https://github.com/dmnks/rpm/tree/iss1580-wip-simpler) version of 
this branch prepared and now 
[rebasing](https://github.com/dmnks/rpm/tree/iss1580-wip-v2) it. I'll push it 
here when it's ready.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1623411226
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-06 Thread Michal Domonkos
OK, I'll try it out later and if it helps, we can revert it I guess.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1623348746
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-06 Thread Panu Matilainen
#2567 should remove the need for the "prevent __cc leak" patch.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1623337773
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-06 Thread Michal Domonkos
Fair point, I'll move that stuff out.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1623144334
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-06 Thread Panu Matilainen
BTW, track the "nice to have" stuff elsewhere. This is a flagday change for the 
test-suite and as such, we want to get it over and done with ASAP and block any 
PR's that add tests in the meanwhile. Anything that isn't strictly needed can 
wait until the dust is settled.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1623141019
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-05 Thread Michal Domonkos
Rebased onto the latest fixups.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1621561991
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-05 Thread Michal Domonkos
@dmnks pushed 7 commits.

60008212558ff183a71dcd2b167329a56e7884fe  Temporary fix for F37's 
systemd-sysusers
fe76403cfe02059543755d53cf51a4c72317cdbf  Contanerize python
db46fbe86ec4388756f05d64e623250e341887e7  Containerize run()
9f695d9353d4c94cb95275a3f432f594b86a8e3f  Add --read-only
3b2287d4289faf0571f39a073f0f57a4ebeb38cb  Fixup mktree.native building
6ee5e0f1d3e4a24b3dfec75927b8646911be6f8b  Add missing which pkg to mktree.fedora
2b0ff3cacdd60247c7ac25d288c1ca3584667107  Prevent __cc from leaking from build 
system (host)

-- 
View it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559/files/4168b79350c27cd216947b6c99689291727a096c..2b0ff3cacdd60247c7ac25d288c1ca3584667107
You are receiving this because you are subscribed to this thread.

Message ID: 
___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-05 Thread Michal Domonkos
@dmnks pushed 47 commits.

996e0f679f2501d6251acee59bb6978177c5eafc  Don't init plugins in Python tests
fa17a5c010e50af02b9cb8a92ab8a59342722055  Remove TOPDIR use from tests
4dd47a8083aa4d0ab713262ffa6dd974105e3b6f  Ensure no rpmdb in no-db test
bd6ec28f5d0de868fea769b2120a827ab26c244b  Remove redundant runroot_other
6f33300131b62cd91504bb31d79e2efd7ea14514  Add vi filetype to atlocal.in
bd76de100308c2babc69e7a69f00043bf5fb6c81  Remove usrbindir and usrlibdir
a22170d73c52dffc3234061d83a0653be22bdc18  Fix WITH_CAP check
eabf6bd18ea1d0a100d59e4ed056daf241b80176  Remove redundant setup_env()
8a014cf67f6e0accdbb57f333e236c58bfce9dd1  Remove redundant TOPDIR
d8e513a735e330e0a11a4efc3cb7316bfcf9f582  Remove redundant _db_backend and 
--dbpath settings
cf8b5759b9bebd4af620a2b574b1d2a7a61035bf  Refactor rundebug()
db2b97434496af17d0b8c79a4bd7856ee8f86e9d  Add sandbox function
9e8e85f491f5b02d01788d29220ad66840ea84b6  Cosmetic
d886f18fa2407ddeb0f676a6d4ba71e96b932ab9  Add sandbox exec
127e1beaf42dceca0a693758db5de741997950b3  Remove redundant RPMDATA use in 
rundebug()
863e60e440b2ffeb2f0682989954358682517bc5  Replace abs_srcdir with RPMDATA
6beec521141cd93af83b5287fff77126ae5a573b  Rename testprogs -> TESTPROGS
cf91209ee90ee3303df0a224bcfd963d31c6caeb  Rename top_targets -> TOP_TARGETS
e17b807a43f47675cc9d04acf23884f9a5b013bf  Group add_custom_* together
5deff872de198f5edb7da295f8f996defa5d7b28  Move TOP_TARGETS to top
a776446d164862ae6385b5ff2f6f4126c6af2867  Move COMMANDs onto separate lines
d1db9c0ee0eda4529f38b0beba68653eafd23e51  Add depends on local.at
b0fd0ee2aa4e40012733c3dc90d863227f8f0a86  Rename populate -> mktree
71c7f6efe0bfc0fc41b2a4fc246a3881e66e7874  Cosmetic: rename jobs -> JOBS
5e464a4e95b2dd434253fecc6e2b91169d9c6ea1  Remove redundant atconfig
8d10d12f117538337c19de63a58604f3d6c8770e  Add RPMCONDIR
143913ed627366013f41b60f8c66b2ca9bd4b1ab  Unset outside of sandbox exec
fa7fae8a282fa076ef195da556ae00207e8836c6  Add @MACRO_DIR@ cmake var
1d3a12b336c665dd2d64b25825c043175cff06a5  Add RPMTREE env var
45270b3c766e9e7260546a696ce6b891184dd1fb  Move test deps to tests/CMakeLists.txt
17e176964c864470a5aeea5eb33a4802587370b7  Add mktree build arg
25fff9d1265a1754258b5bf217310c1f182ffa70  Move configure_file
25f7d42274df2a77ca711978b706baa9fab6af79  Replace fakechroot with bwrap
c7bcabfd104076de728fc347b8a90e4f2e882ab5  Remove redundant rm -rf /build
504122bff6c5ac3349c26e3a62d483b29e16  Remove ci, move Dockerfile to tests/
d5aa7ef541c68f881fc90c99eb31551ae3a35d24  Remove dnf update from Dockerfile
4738031e0cdd95f531ca1cb7ab4c1067f84b36b9  Add podman backend for mktree
9b3310550787231f9914be6a12b37ab7e40efb63  Fixup
c93f604d8eb7b278234e161d7779519e29cb9e72  Add systemd for commit 009d139
c9826e66b516ff2002f2d7e933045e215af51660  Fixup for systemd-sysusers commits 
009d139 and fb040f1
55a95f42422ffed4a63f7d98e997511ffa61eb61  Temporary fix for F37's 
systemd-sysusers
433cd38f2b52c28d9b0994bbf487a0086e9d8b21  Contanerize python
afa0a47f9d97a01470b926a4ac9b1e5c94ba8c34  Containerize run()
0e887ab75d5694b182b6367fd243f869d2b0e7d4  Add --read-only
4d9680739e4f557f51add0ca0f27b2141a66138d  Fixup mktree.native building
5d59498b5bc70f93bf3477bbf4ac2ba5b58a1f5b  Add missing which pkg to mktree.fedora
4168b79350c27cd216947b6c99689291727a096c  Prevent __cc from leaking from build 
system (host)

-- 
View it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559/files/e20039effd1a16e7c47f119db1604c60e1f0949b..4168b79350c27cd216947b6c99689291727a096c
You are receiving this because you are subscribed to this thread.

Message ID: 
___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-05 Thread Panu Matilainen
#2563 should eliminate the need for those sysusers fixups.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1621532101
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-05 Thread Panu Matilainen
#2561 fixes the prefix related failures so you can mark those done.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1621444295
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-05 Thread Panu Matilainen
> Also, are we OK with the replacement of AT_CHECK and AT_CLEANUP with the new 
> RPMTEST_CHECK and RPMTEST_CLEANUP across the test suite?

Oh absolutely. My first thought on seeing that was "why didn't we do that from 
the start?" 

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1621357209
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-05 Thread Michal Domonkos
Also, are we OK with the replacement of `AT_CHECK` and `AT_CLEANUP` with the 
new `RPMTEST_CHECK` and `RPMTEST_CLEANUP` across the test suite?

Currently, that's what I opted for, but it's also possible to just redefine 
those original macros. The caveat with the latter is that there *could* 
possibly be undefined behavior in Autotest, see (the `m4_rename` section):
https://www.gnu.org/software/autoconf/manual/autoconf-2.68/html_node/Redefined-M4-Macros.html

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1621351322
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-05 Thread Panu Matilainen
Don't waste your time on this now, %__cc shouldn't be set to that kind of value 
to begin with so it's a different bug.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1621316012
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-05 Thread Michal Domonkos
Ohh right :smile: Indeed. Let me think about it then.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1621313814
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-05 Thread Panu Matilainen
The issue is that the macros file is generated on the host at the time `cmake` 
is initially run, so all manner of crap can leak through that path.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1621313043
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-05 Thread Michal Domonkos
Thanks for investigating. The leakage is strange, though, as `rpmbuild` is run 
in the container.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1621311535
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-05 Thread Panu Matilainen
The ccache oddity comes from hello-g3.spec relying on `%__cc` macro, which 
cmake `find_program` has figured to be `/usr/lib64/ccache/cc`. That doesn't 
make sense and is an unrelated bug (I'll file a ticket) but easy to work around 
for now by adding `--define "__cc gcc" \` to the rpmbuild command in test 439.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1621282894
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-05 Thread Michal Domonkos
> It's worth noting that rpm-ostree has been isolating individual scripts (e.g. 
> `%post`) with bwrap for a long time now. That's distinct from the test suite 
> only usage here, but just FYI.

Interesting, thanks!

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1621277083
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-05 Thread Colin Walters
It's worth noting that rpm-ostree has been isolating individual scripts (e.g. 
`%post`) with bwrap for a long time now.  That's distinct from the test suite 
only usage here, but just FYI.


-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1621273057
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-05 Thread Michal Domonkos
Oh yup, thanks, that's one of those little "bugs" still to be fixed :smile: 

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1621267348
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-05 Thread Panu Matilainen
Another minor item for the todo-list: add cmake dependencies to get the 
container automatically rebuilt when the mktree stuff is updated.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1621257977
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-05 Thread Panu Matilainen
Yup, adding `which` to the dnf install cures 437. But sadly not 439. I'll look 
at that next...

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1621252909
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-05 Thread Michal Domonkos
Ohh, nice find, thanks :smile: Adding this to the TODO list above.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1621250797
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-05 Thread Panu Matilainen
Heh, apparently the gdb-add-index failure is due to missing `which` command in 
the container so its attempt to locate the gdb that *is* there fails :laughing: 

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1621248166
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-05 Thread Michal Domonkos
`make env` can also be useful as it gives you a shell on your host, with the 
same container mounted at `$RPMTEST` so you can inspect or modify stuff in it 
with your host tooling. Including DNF of course.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1621240637
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-05 Thread Michal Domonkos
Both :smile: 

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1621238021
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-05 Thread Panu Matilainen
FWIW, `make shell` is a very nice addition :+1: (although I can imagine it got 
added because you needed it, not because it was "nice" :smile: )

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1621236798
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-05 Thread Michal Domonkos
Hmm that's strange, indeed. `ccache` isn't even installed in the OS tree so 
it's strange that it's being poked in that test...

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1621220046
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-05 Thread Panu Matilainen
437 and 439 fail even with default prefix. For 437 it's indeed the gdb index 
thing, 439 is more mysterious:

> stderr:
make: /usr/lib64/ccache/cc: No such file or directory
make: *** [: hello] Error 127
error: Bad exit status from /usr/local/var/tmp/rpm-tmp.zsvYoW (%build)
rpm2cpio: 
/srv/rpmtests.dir/439/merged/build/RPMS/*/hello-g3-debuginfo-1.0-1.*.rpm: No 
such file or directory
cpio: premature end of archive

That's not the only thing compiling something, so wtf does some ccache thing 
matter here but not in the other cases?

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1621212891
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-05 Thread Michal Domonkos
Ugh, yup, I did test for different prefixes at the beginning but then just 
settled on the default and never got to trying out a different out :smile: So 
yup, we either fix the tests or add some kind of check / disclaimer to 
tests/README.md.

I bet the remaining test that fails is 437. I'm seeing that too now (so far I 
tested this in a F37 VM only, now finally tried on F38 :smile: ) I'll look at 
it. The error is:
```
gdb-add-index: Failed to find a useable GDB binary
```

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1621201043
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-05 Thread Panu Matilainen
At least 5 depends on CMAKE_INSTALL_PREFIX, it'll fail if it's /usr because the 
test now finds way more content than the just-built rpm. It's a badly written 
test, blame me :smile: 

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1621193507
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-05 Thread Michal Domonkos
Could you please paste the log output of those? (`rpmtests.dir/N/rpmtests.log`)

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1621188314
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-05 Thread Panu Matilainen
I'm getting a couple of unexpected test failures (didn't look at details yet) 
but basics seem to work fine.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1621182372
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-05 Thread Michal Domonkos
@pmatilai BTW, before you try 'make check` again, please run `make tree-clean` 
first (or just `rm -rf tests/mktree.output`), there's currently a bug in how 
this is handled :smile: To be fixed today.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1621178444
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-05 Thread Michal Domonkos
No manual setup will be needed, though. If a native script isn't available for 
your platform (currently anything else than Fedora), the usual podman fallback 
will kick in (i.e. former `make ci`).

I'm also going to add back `make ci` even if you're running natively so that 
one can just see how CI would behave if they were to push the PR.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1621174233
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-05 Thread Michal Domonkos
Oops, forgot to uncomment the OS setup script in `mktree.native`. Fixed now.

And yup, I'm going to update README as well, it's one of the items on my little 
TODO list before claiming this PR ready :smile: 

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1621159483
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-05 Thread Michal Domonkos
@dmnks pushed 1 commit.

e20039effd1a16e7c47f119db1604c60e1f0949b  Fixup mktree.native building

-- 
View it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559/files/f6922b3ecc5d552dc727ddb4574b20ca82248912..e20039effd1a16e7c47f119db1604c60e1f0949b
You are receiving this because you are subscribed to this thread.

Message ID: 
___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-04 Thread Panu Matilainen
Hmm, `make check` gives me

```
mount: /home/pmatilai/repos/brpm/tests/mktree.check/merged: special device 
sandbox does not exist.
   dmesg(1) may have more information after failed mount system call.
mount: /home/pmatilai/repos/brpm/tests/mktree.check/merged: mount point not 
mounted or bad option.
   dmesg(1) may have more information after failed mount system call.
bwrap: Only the last --chdir option will take effect
bwrap: execvp ./rpmtests: No such file or directory
umount: /home/pmatilai/repos/brpm/tests/mktree.check/merged: not mounted.
make[3]: *** [tests/CMakeFiles/check.dir/build.make:70: tests/CMakeFiles/check] 
Error 32
```

tests/README.md needs an update in any case, but doubly so if there's some 
manual setup needed now.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559#issuecomment-1621064686
You are receiving this because you are subscribed to this thread.

Message ID: ___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint


[Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)

2023-07-04 Thread Michal Domonkos
Rebased onto master, now cleaning up and squashing.
You can view, comment on, or merge this pull request online at:

  https://github.com/rpm-software-management/rpm/pull/2559

-- Commit Summary --

  * Add and use RPMTEST_CHECK* and RPMTEST_CLEANUP
  * Dont init plugins in Python tests
  * Remove TOPDIR use from tests
  * Ensure no rpmdb in no-db test
  * Remove redundant runroot_other
  * Add vi filetype to atlocal.in
  * Remove usrbindir and usrlibdir
  * Fix WITH_CAP check
  * Remove redundant setup_env()
  * Remove redundant TOPDIR
  * Remove redundant _db_backend and --dbpath settings
  * Refactor rundebug()
  * Add sandbox function
  * Cosmetic
  * Add sandbox exec
  * Remove redundant RPMDATA use in rundebug()
  * Replace abs_srcdir with RPMDATA
  * Rename testprogs - TESTPROGS
  * Rename top_targets - TOP_TARGETS
  * Group add_custom_* together
  * Move TOP_TARGETS to top
  * Move COMMANDs onto separate lines
  * Add depends on local.at
  * Rename populate - mktree
  * Cosmetic: rename jobs - JOBS
  * Remove redundant atconfig
  * Add RPMCONDIR
  * Unset outside of sandbox exec
  * Add @MACRO_DIR@ cmake var
  * Add RPMTREE env var
  * Move test deps to tests/CMakeLists.txt
  * Add mktree build arg
  * Move configure_file
  * Replace fakechroot with bwrap
  * Remove redundant rm -rf /build
  * Remove ci, move Dockerfile to tests/
  * Remove dnf update from Dockerfile
  * Add podman backend for mktree
  * Fixup
  * Add systemd for commit 009d139
  * Fixup for systemd-sysusers commits 009d139 and fb040f1
  * Temporary fix for F37s systemd-sysusers
  * Contanerize python
  * Containerize run()
  * Add --read-only

-- File Changes --

M CMakeLists.txt (7)
D ci/CMakeLists.txt (8)
D ci/Dockerfile.debian (60)
M tests/CMakeLists.txt (124)
R tests/Dockerfile (14)
D tests/atconfig.in (4)
M tests/atlocal.in (118)
M tests/local.at (43)
A tests/mktree.common (27)
A tests/mktree.docker (1)
A tests/mktree.fedora (101)
A tests/mktree.native (70)
A tests/mktree.podman (49)
A tests/mktree.rootfs (21)
D tests/populate (49)
M tests/rpmbuild.at (408)
M tests/rpmbuildid.at (118)
M tests/rpmconfig.at (68)
M tests/rpmconfig2.at (58)
M tests/rpmconfig3.at (24)
M tests/rpmconflict.at (68)
M tests/rpmdb.at (87)
M tests/rpmdeps.at (122)
M tests/rpme.at (46)
M tests/rpmgeneral.at (28)
M tests/rpmi.at (287)
M tests/rpmio.at (16)
M tests/rpmmacro.at (304)
M tests/rpmorder.at (12)
M tests/rpmpgp.at (12)
M tests/rpmpgppubkeyfingerprint.c (4)
M tests/rpmpython.at (41)
M tests/rpmquery.at (174)
M tests/rpmreplace.at (70)
M tests/rpmscript.at (20)
M tests/rpmsigdig.at (140)
M tests/rpmspec.at (68)
M tests/rpmvercmp.at (4)
M tests/rpmverify.at (80)
M tests/rpmvfylevel.at (20)

-- Patch Links --

https://github.com/rpm-software-management/rpm/pull/2559.patch
https://github.com/rpm-software-management/rpm/pull/2559.diff

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/2559
You are receiving this because you are subscribed to this thread.

Message ID: rpm-software-management/rpm/pull/2...@github.com
___
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint