Re: [Rpm-maint] [rpm-software-management/rpm] Replace fakechroot with proper container technology (PR #2559)
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)
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)
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)
@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)
@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)
@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)
> 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)
> 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)
@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)
> 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)
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)
> 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)
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)
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)
> 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)
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)
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)
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)
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)
@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)
@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)
@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)
@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)
@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)
@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)
@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)
@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)
@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)
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)
> 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)
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)
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)
@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)
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)
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)
#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)
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)
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)
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)
@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)
@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)
#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)
#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)
> 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)
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)
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)
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)
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)
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)
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)
> 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)
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)
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)
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)
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)
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)
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)
`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)
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)
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)
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)
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)
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)
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)
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)
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)
@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)
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)
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)
@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)
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)
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