mgorny-dev-scripts icon indicating copy to clipboard operation
mgorny-dev-scripts copied to clipboard

pkgdiff-mg: can't cope with ruby-fakegem unpacked layout

Open thesamesam opened this issue 1 year ago • 2 comments

pkgdiff-mg doesn't currently work for ruby-fakegem.eclass-based ebuilds because it compares the wrong paths, and all differences show up as new files.

(I don't know why this layout exists at the point of src_unpack or if that's optimal, though.)

For example, take d24600a71dade13abf890f10ae29a2d39302b68c in gentoo.git, and run pkgdiff-mg pg-1.5.{5,6}.ebuild.

We get a bunch of results like:

diff '--color=always' '--exclude=.git' --strip-trailing-cr -X - -dupNr /tmp/mgorny-dev-scripts/portage/dev-ruby/pg-1.5.5/work/all/ruby-pg-1.5.6/.travis.yml /tmp/mgorny-dev-scripts/portage/dev-ruby/pg-1.5.6/work/all/ruby-pg-1.5.6/.travis.yml
--- /tmp/mgorny-dev-scripts/portage/dev-ruby/pg-1.5.5/work/all/ruby-pg-1.5.6/.travis.yml        1970-01-01 01:00:00.000000000 +0100
+++ /tmp/mgorny-dev-scripts/portage/dev-ruby/pg-1.5.6/work/all/ruby-pg-1.5.6/.travis.yml        2024-03-01 18:15:55.000000000 +0000
@@ -0,0 +1,49 @@
+sudo: required
+dist: focal
+services:
+  - docker
+language: ruby
+matrix:
+  include:
+    # i386: Intel 32-bit
+    - name: i386
[...]

i.e. every file gets treated as brand new because we're comparing the wrong basepath on the LHS, as we don't realise that there's an extra layer within WORKDIR.

thesamesam avatar May 18 '24 19:05 thesamesam

cc @graaff

Pretty sure I had a workaround for this ages ago but I've since lost/forgot about it.

thesamesam avatar May 18 '24 19:05 thesamesam

I guess we'd have to use ${S}/${RUBY_S}?

mgorny avatar May 18 '24 19:05 mgorny