[rb-general] Flathub, initial proposal

Alexander Larsson alexl at redhat.com
Mon Sep 5 11:44:26 CEST 2016


On lör, 2016-09-03 at 15:40 +0000, Holger Levsen wrote:
> Hi,
> 
> thanks for reaching out to us reproducible builds folks!
> 
> On Wed, Aug 31, 2016 at 08:30:25AM +0200, Alexander Larsson wrote:
> > 
> > I'm very interested in reproducible builds, and I love what the
> > debian
> > reproducible build people are doing.  Flatpak has several features
> > that
> > make reproducible builds easier. For instance, we build with a well
> > defined SDK, with no access to anything else, plus the builds are
> > always in the same directory (under /run/build/) to make debug info
> > the
> > same, and we have some .pyc mtime rewrite hackery.
> nice!
> 
> how's the SDK defined? Will I be able to use this SDK in 2 or 5 years
> to
> reproduce a build from today?

The SDK is runtime, so a full copy of binaries from /usr that the build
runs with. Typically a runtime is defined as a name and version, like
"org.gnome.Sdk" / "3.20". However, once built we record the resolved
manifest in the resulting binary, and that captures the exact commit of
the SDK that was used for the build. This is an OSTree commit, so its
basically a sha256 merkle hash of the entire binary tree.

So, if you keep that around it should be 100% reproducible and
verifiable.

> > However, getting fully reproducible builds is all about tweaking
> > the
> > individual build of each app. There is no way we can make every
> > build
> > automatically reproducible, or require that they will be.
> > 
> > Basically, our tooling helps make reproducible builds easier, and
> > we
> > can add features making it even easier, but we can't
> > guarantee/require
> > it for every app.
> while I agree with this last paragraph I disagree with the conlusion
> of
> the first paragraph above :) In the long run (think 5-10y) I hope
> that
> all software will be reproducible, because the community will not
> accept
> unreproducible software anymore…
> 
> It's really not that hard, just tedious to get done in thousands of
> projects ;-)

Your project has as a goal to make all software reproducible. I agree
that this is a good goal, and in fact an important one. However, what i
mean by the above is that we have other goals to, such as "wide use of
flatpak for cross distribution binaries and sandboxing". We don't want
to block these goals by demanding reproducible software, as this raises
the barrier further for users.

However, we *can* add tools and recommendations to make reproducible
builds easy.

> Most of the GNOME apps are actually reproducile, if you carefully
> look
> at
> https://tests.reproducible-builds.org/debian/testing/amd64/pkg_set_gn
> ome.html
> :-)
> 
> regarding Flatpak, have you tried building something twice and
> comparing the
> results with diffoscope? (https://try.diffoscope.org) - we would
> *love*
> to hear about the results of this simple test!

Flatpaks are stored in ostree, which is structurally basically git, so
I've tried "ostree diff" a few times to see what changed, and its often
not a lot. I haven't done any systematic checks though.

As an example, i built https://git.gnome.org/browse/gnome-apps-nightly/
tree/org.gnome.Maps.json twice, using --disable-updates (to get the
same git commits from the build) and the same build of the sdk. 
This is what ostree reports:

$ ostree diff --repo=repo app/org.gnome.Maps/x86_64/master app/org.gnome.Maps/x86_64/master^
M    /files/lib/libical.so.1.0.1

We can then generate tarballs for diffoscope:

$ ostree export --repo=repo app/org.gnome.Maps/x86_64/master > build1.tar
$ ostree export --repo=repo app/org.gnome.Maps/x86_64/master^ > build2.tar

Notes:
  * The mtime difference does not matter to flatpak/ostree, as they
    will be zeroed out on installation. That is why ostree diff didn't
    report it.
  * Its unclear why libical built differently the second time.

--- a/build1.tar
+++ b/build2.tar
├── file list
│ @@ -1,605 +1,605 @@
│ -drwxr-xr-x   0        0        0        0 2016-09-05 09:07:32.000000 ./
│ --rw-r--r--   0        0        0      824 2016-09-05 09:07:32.000000 metadata
│ -drwxr-xr-x   0        0        0        0 2016-09-05 09:07:32.000000 export/
│ -drwxr-xr-x   0        0        0        0 2016-09-05 09:07:32.000000 export/share/
│ -drwxr-xr-x   0        0        0        0 2016-09-05 09:07:32.000000 export/share/applications/
│ --rw-r--r--   0        0        0     9897 2016-09-05 09:07:32.000000 export/share/applications/org.gnome.Maps.desktop
│ -drwxr-xr-x   0        0        0        0 2016-09-05 09:07:32.000000 export/share/dbus-1/
│ -drwxr-xr-x   0        0        0        0 2016-09-05 09:07:32.000000 export/share/dbus-1/services/
│ --rw-r--r--   0        0        0      101 2016-09-05 09:07:32.000000 export/share/dbus-1/services/org.gnome.Maps.service
│ -drwxr-xr-x   0        0        0        0 2016-09-05 09:07:32.000000 export/share/icons/
│ -drwxr-xr-x   0        0        0        0 2016-09-05 09:07:32.000000 export/share/icons/hicolor/
│ -drwxr-xr-x   0        0        0        0 2016-09-05 09:07:32.000000 export/share/icons/hicolor/16x16/
│ -drwxr-xr-x   0        0        0        0 2016-09-05 09:07:32.000000 export/share/icons/hicolor/16x16/apps/
│ --rw-r--r--   0        0        0      975 2016-09-05 09:07:32.000000 export/share/icons/hicolor/16x16/apps/org.gnome.Maps.png
│ -drwxr-xr-x   0        0        0        0 2016-09-05 09:07:32.000000 export/share/icons/hicolor/22x22/
│ -drwxr-xr-x   0        0        0        0 2016-09-05 09:07:32.000000 export/share/icons/hicolor/22x22/apps/
│ --rw-r--r--   0        0        0     1508 2016-09-05 09:07:32.000000 export/share/icons/hicolor/22x22/apps/org.gnome.Maps.png
│ -drwxr-xr-x   0        0        0        0 2016-09-05 09:07:32.000000 export/share/icons/hicolor/24x24/
│ -drwxr-xr-x   0        0        0        0 2016-09-05 09:07:32.000000 export/share/icons/hicolor/24x24/apps/
│ --rw-r--r--   0        0        0     1590 2016-09-05 09:07:32.000000 export/share/icons/hicolor/24x24/apps/org.gnome.Maps.png
│ -drwxr-xr-x   0        0        0        0 2016-09-05 09:07:32.000000 export/share/icons/hicolor/256x256/
│ -drwxr-xr-x   0        0        0        0 2016-09-05 09:07:32.000000 export/share/icons/hicolor/256x256/apps/
│ --rw-r--r--   0        0        0    43685 2016-09-05 09:07:32.000000 export/share/icons/hicolor/256x256/apps/org.gnome.Maps.png
│ -drwxr-xr-x   0        0        0        0 2016-09-05 09:07:32.000000 export/share/icons/hicolor/32x32/
│ -drwxr-xr-x   0        0        0        0 2016-09-05 09:07:32.000000 export/share/icons/hicolor/32x32/apps/
│ --rw-r--r--   0        0        0     2381 2016-09-05 09:07:32.000000 export/share/icons/hicolor/32x32/apps/org.gnome.Maps.png
│ -drwxr-xr-x   0        0        0        0 2016-09-05 09:07:32.000000 export/share/icons/hicolor/48x48/
│ -drwxr-xr-x   0        0        0        0 2016-09-05 09:07:32.000000 export/share/icons/hicolor/48x48/apps/
│ --rw-r--r--   0        0        0     3689 2016-09-05 09:07:32.000000 export/share/icons/hicolor/48x48/apps/org.gnome.Maps.png
│ -drwxr-xr-x   0        0        0        0 2016-09-05 09:07:32.000000 export/share/icons/hicolor/symbolic/
│ -drwxr-xr-x   0        0        0        0 2016-09-05 09:07:32.000000 export/share/icons/hicolor/symbolic/apps/
│ --rw-r--r--   0        0        0     3929 2016-09-05 09:07:32.000000 export/share/icons/hicolor/symbolic/apps/org.gnome.Maps-symbolic.svg
│ -drwxr-xr-x   0        0        0        0 2016-09-05 09:07:32.000000 files/
│ --rw-r--r--   0        0        0     5277 2016-09-05 09:07:32.000000 files/manifest.json
│ -drwxr-xr-x   0        0        0        0 2016-09-05 09:07:32.000000 files/bin/
│ -lrwxrwxrwx   0        0        0        0 2016-09-05 09:07:32.000000 files/bin/gnome-maps -> /app/share/gnome-maps/org.gnome.Maps
│ -drwxr-xr-x   0        0        0        0 2016-09-05 09:07:32.000000 files/doc/
│ -drwxr-xr-x   0        0        0        0 2016-09-05 09:07:32.000000 files/lib/
│ -lrwxrwxrwx   0        0        0        0 2016-09-05 09:07:32.000000 files/lib/libcamel-1.2.so -> libcamel-1.2.so.59.0.0
│ -lrwxrwxrwx   0        0        0        0 2016-09-05 09:07:32.000000 files/lib/libcamel-1.2.so.59 -> libcamel-1.2.so.59.0.0
│ --rwxr-xr-x   0        0        0  1184856 2016-09-05 09:07:32.000000 files/lib/libcamel-1.2.so.59.0.0
│ -lrwxrwxrwx   0        0        0        0 2016-09-05 09:07:32.000000 files/lib/libchamplain-0.12.so -> libchamplain-0.12.so.0.8.0
│ -lrwxrwxrwx   0        0        0        0 2016-09-05 09:07:32.000000 files/lib/libchamplain-0.12.so.0 -> libchamplain-0.12.so.0.8.0
│ --rwxr-xr-x   0        0        0   287168 2016-09-05 09:07:32.000000 files/lib/libchamplain-0.12.so.0.8.0
│ -lrwxrwxrwx   0        0        0        0 2016-09-05 09:07:32.000000 files/lib/libchamplain-gtk-0.12.so -> libchamplain-gtk-0.12.so.0.8.0
│ -lrwxrwxrwx   0        0        0        0 2016-09-05 09:07:32.000000 files/lib/libchamplain-gtk-0.12.so.0 -> libchamplain-gtk-0.12.so.0.8.0
│ --rwxr-xr-x   0        0        0    13736 2016-09-05 09:07:32.000000 files/lib/libchamplain-gtk-0.12.so.0.8.0
│ -lrwxrwxrwx   0        0        0        0 2016-09-05 09:07:32.000000 files/lib/libebackend-1.2.so -> libebackend-1.2.so.10.0.0
│ -lrwxrwxrwx   0        0        0        0 2016-09-05 09:07:32.000000 files/lib/libebackend-1.2.so.10 -> libebackend-1.2.so.10.0.0
│ --rwxr-xr-x   0        0        0   212992 2016-09-05 09:07:32.000000 files/lib/libebackend-1.2.so.10.0.0
│ -[ 555 lines removed ]
│ +drwxr-xr-x   0        0        0        0 2016-09-05 09:01:27.000000 ./
│ +-rw-r--r--   0        0        0      824 2016-09-05 09:01:27.000000 metadata
│ +drwxr-xr-x   0        0        0        0 2016-09-05 09:01:27.000000 export/
│ +drwxr-xr-x   0        0        0        0 2016-09-05 09:01:27.000000 export/share/
│ +drwxr-xr-x   0        0        0        0 2016-09-05 09:01:27.000000 export/share/applications/
│ +-rw-r--r--   0        0        0     9897 2016-09-05 09:01:27.000000 export/share/applications/org.gnome.Maps.desktop
│ +drwxr-xr-x   0        0        0        0 2016-09-05 09:01:27.000000 export/share/dbus-1/
│ +drwxr-xr-x   0        0        0        0 2016-09-05 09:01:27.000000 export/share/dbus-1/services/
│ +-rw-r--r--   0        0        0      101 2016-09-05 09:01:27.000000 export/share/dbus-1/services/org.gnome.Maps.service
│ +drwxr-xr-x   0        0        0        0 2016-09-05 09:01:27.000000 export/share/icons/
│ +drwxr-xr-x   0        0        0        0 2016-09-05 09:01:27.000000 export/share/icons/hicolor/
│ +drwxr-xr-x   0        0        0        0 2016-09-05 09:01:27.000000 export/share/icons/hicolor/16x16/
│ +drwxr-xr-x   0        0        0        0 2016-09-05 09:01:27.000000 export/share/icons/hicolor/16x16/apps/
│ +-rw-r--r--   0        0        0      975 2016-09-05 09:01:27.000000 export/share/icons/hicolor/16x16/apps/org.gnome.Maps.png
│ +drwxr-xr-x   0        0        0        0 2016-09-05 09:01:27.000000 export/share/icons/hicolor/22x22/
│ +drwxr-xr-x   0        0        0        0 2016-09-05 09:01:27.000000 export/share/icons/hicolor/22x22/apps/
│ +-rw-r--r--   0        0        0     1508 2016-09-05 09:01:27.000000 export/share/icons/hicolor/22x22/apps/org.gnome.Maps.png
│ +drwxr-xr-x   0        0        0        0 2016-09-05 09:01:27.000000 export/share/icons/hicolor/24x24/
│ +drwxr-xr-x   0        0        0        0 2016-09-05 09:01:27.000000 export/share/icons/hicolor/24x24/apps/
│ +-rw-r--r--   0        0        0     1590 2016-09-05 09:01:27.000000 export/share/icons/hicolor/24x24/apps/org.gnome.Maps.png
│ +drwxr-xr-x   0        0        0        0 2016-09-05 09:01:27.000000 export/share/icons/hicolor/256x256/
│ +drwxr-xr-x   0        0        0        0 2016-09-05 09:01:27.000000 export/share/icons/hicolor/256x256/apps/
│ +-rw-r--r--   0        0        0    43685 2016-09-05 09:01:27.000000 export/share/icons/hicolor/256x256/apps/org.gnome.Maps.png
│ +drwxr-xr-x   0        0        0        0 2016-09-05 09:01:27.000000 export/share/icons/hicolor/32x32/
│ +drwxr-xr-x   0        0        0        0 2016-09-05 09:01:27.000000 export/share/icons/hicolor/32x32/apps/
│ +-rw-r--r--   0        0        0     2381 2016-09-05 09:01:27.000000 export/share/icons/hicolor/32x32/apps/org.gnome.Maps.png
│ +drwxr-xr-x   0        0        0        0 2016-09-05 09:01:27.000000 export/share/icons/hicolor/48x48/
│ +drwxr-xr-x   0        0        0        0 2016-09-05 09:01:27.000000 export/share/icons/hicolor/48x48/apps/
│ +-rw-r--r--   0        0        0     3689 2016-09-05 09:01:27.000000 export/share/icons/hicolor/48x48/apps/org.gnome.Maps.png
│ +drwxr-xr-x   0        0        0        0 2016-09-05 09:01:27.000000 export/share/icons/hicolor/symbolic/
│ +drwxr-xr-x   0        0        0        0 2016-09-05 09:01:27.000000 export/share/icons/hicolor/symbolic/apps/
│ +-rw-r--r--   0        0        0     3929 2016-09-05 09:01:27.000000 export/share/icons/hicolor/symbolic/apps/org.gnome.Maps-symbolic.svg
│ +drwxr-xr-x   0        0        0        0 2016-09-05 09:01:27.000000 files/
│ +-rw-r--r--   0        0        0     5277 2016-09-05 09:01:27.000000 files/manifest.json
│ +drwxr-xr-x   0        0        0        0 2016-09-05 09:01:27.000000 files/bin/
│ +lrwxrwxrwx   0        0        0        0 2016-09-05 09:01:27.000000 files/bin/gnome-maps -> /app/share/gnome-maps/org.gnome.Maps
│ +drwxr-xr-x   0        0        0        0 2016-09-05 09:01:27.000000 files/doc/
│ +drwxr-xr-x   0        0        0        0 2016-09-05 09:01:27.000000 files/lib/
│ +lrwxrwxrwx   0        0        0        0 2016-09-05 09:01:27.000000 files/lib/libcamel-1.2.so -> libcamel-1.2.so.59.0.0
│ +lrwxrwxrwx   0        0        0        0 2016-09-05 09:01:27.000000 files/lib/libcamel-1.2.so.59 -> libcamel-1.2.so.59.0.0
│ +-rwxr-xr-x   0        0        0  1184856 2016-09-05 09:01:27.000000 files/lib/libcamel-1.2.so.59.0.0
│ +lrwxrwxrwx   0        0        0        0 2016-09-05 09:01:27.000000 files/lib/libchamplain-0.12.so -> libchamplain-0.12.so.0.8.0
│ +lrwxrwxrwx   0        0        0        0 2016-09-05 09:01:27.000000 files/lib/libchamplain-0.12.so.0 -> libchamplain-0.12.so.0.8.0
│ +-rwxr-xr-x   0        0        0   287168 2016-09-05 09:01:27.000000 files/lib/libchamplain-0.12.so.0.8.0
│ +lrwxrwxrwx   0        0        0        0 2016-09-05 09:01:27.000000 files/lib/libchamplain-gtk-0.12.so -> libchamplain-gtk-0.12.so.0.8.0
│ +lrwxrwxrwx   0        0        0        0 2016-09-05 09:01:27.000000 files/lib/libchamplain-gtk-0.12.so.0 -> libchamplain-gtk-0.12.so.0.8.0
│ +-rwxr-xr-x   0        0        0    13736 2016-09-05 09:01:27.000000 files/lib/libchamplain-gtk-0.12.so.0.8.0
│ +lrwxrwxrwx   0        0        0        0 2016-09-05 09:01:27.000000 files/lib/libebackend-1.2.so -> libebackend-1.2.so.10.0.0
│ +lrwxrwxrwx   0        0        0        0 2016-09-05 09:01:27.000000 files/lib/libebackend-1.2.so.10 -> libebackend-1.2.so.10.0.0
│ +-rwxr-xr-x   0        0        0   212992 2016-09-05 09:01:27.000000 files/lib/libebackend-1.2.so.10.0.0
│ +[ 555 lines removed ]
├── files/lib/libical.so.1.0.1
│   ├── readelf --wide --notes {}
│   │ @@ -1,5 +1,5 @@
│   │  
│   │  Displaying notes found at file offset 0x00000190 with length 0x00000024:
│   │    Owner                 Data size	Description
│   │    GNU                  0x00000014	NT_GNU_BUILD_ID (unique build ID bitstring)
│   │ -    Build ID: d3daabbbfe3d9766eb610dcc46864478f91ab665
│   │ +    Build ID: 72c1cbe33b94194b35c27deaa39b7b332aa78475
│   ├── objdump --line-numbers --disassemble --demangle --section=.text {}
│   │ @@ -15645,15 +15645,15 @@
│   │     279aa:	8b 43 20             	mov    0x20(%rbx),%eax
│   │     279ad:	5b                   	pop    %rbx
│   │     279ae:	c3                   	retq   
│   │     279af:	90                   	nop
│   │  
│   │  00000000000279b0 <icalvalue_kind_is_valid@@Base>:
│   │     279b0:	48 8d 15 c1 93 01 00 	lea    0x193c1(%rip),%rdx        
│   │ -   279b7:	b8 91 13 00 00       	mov    $0x1391,%eax
│   │ +   279b7:	b8 a4 13 00 00       	mov    $0x13a4,%eax
│   │     279bc:	eb 0f                	jmp    279cd <icalvalue_kind_is_valid@@Base+0x1d>
│   │     279be:	66 90                	xchg   %ax,%ax
│   │     279c0:	3d a7 13 00 00       	cmp    $0x13a7,%eax
│   │     279c5:	74 19                	je     279e0 <icalvalue_kind_is_valid@@Base+0x30>
│   │     279c7:	8b 02                	mov    (%rdx),%eax
│   │     279c9:	48 83 c2 18          	add    $0x18,%rdx
│   │     279cd:	39 c7                	cmp    %eax,%edi
│   │ @@ -15665,18 +15665,18 @@
│   │     279e0:	31 c0                	xor    %eax,%eax
│   │     279e2:	c3                   	retq   
│   │     279e3:	0f 1f 00             	nopl   (%rax)
│   │     279e6:	66 2e 0f 1f 84 00 00 	nopw   %cs:0x0(%rax,%rax,1)
│   │     279ed:	00 00 00 
│   │  
│   │  00000000000279f0 <icalvalue_kind_to_string@@Base>:
│   │ -   279f0:	81 ff 91 13 00 00    	cmp    $0x1391,%edi
│   │ +   279f0:	81 ff a4 13 00 00    	cmp    $0x13a4,%edi
│   │     279f6:	74 2f                	je     27a27 <icalvalue_kind_to_string@@Base+0x37>
│   │     279f8:	48 8d 15 91 93 01 00 	lea    0x19391(%rip),%rdx        
│   │ -   279ff:	b8 a3 13 00 00       	mov    $0x13a3,%eax
│   │ +   279ff:	b8 a1 13 00 00       	mov    $0x13a1,%eax
│   │     27a04:	31 c9                	xor    %ecx,%ecx
│   │     27a06:	eb 12                	jmp    27a1a <icalvalue_kind_to_string@@Base+0x2a>
│   │     27a08:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
│   │     27a0f:	00 
│   │     27a10:	39 c7                	cmp    %eax,%edi
│   │     27a12:	74 15                	je     27a29 <icalvalue_kind_to_string@@Base+0x39>
│   │     27a14:	8b 02                	mov    (%rdx),%eax
│   │ @@ -15694,15 +15694,15 @@
│   │     27a3c:	c3                   	retq   
│   │     27a3d:	0f 1f 00             	nopl   (%rax)
│   │  
│   │  0000000000027a40 <icalvalue_string_to_kind@@Base>:
│   │     27a40:	41 54                	push   %r12
│   │     27a42:	49 89 fc             	mov    %rdi,%r12
│   │     27a45:	55                   	push   %rbp
│   │ -   27a46:	bd 91 13 00 00       	mov    $0x1391,%ebp
│   │ +   27a46:	bd a4 13 00 00       	mov    $0x13a4,%ebp
│   │     27a4b:	53                   	push   %rbx
│   │     27a4c:	48 8d 1d 11 93 01 00 	lea    0x19311(%rip),%rbx        
│   │     27a53:	eb 12                	jmp    27a67 <icalvalue_string_to_kind@@Base+0x27>
│   │     27a55:	0f 1f 00             	nopl   (%rax)
│   │     27a58:	48 83 c3 18          	add    $0x18,%rbx
│   │     27a5c:	8b 6b fc             	mov    -0x4(%rbx),%ebp
│   │     27a5f:	81 fd a7 13 00 00    	cmp    $0x13a7,%ebp
│   ├── readelf --wide --decompress --hex-dump=.rodata {}
│   │ @@ -268,62 +268,62 @@
│   │    0x00040cf0 206d7574 75616c20 77697468 20616e6f  mutual with ano
│   │    0x00040d00 74686572 2070726f 70657274 79000000 ther property...
│   │    0x00040d10 00000000 00000000 00000000 00000000 ................
│   │    0x00040d20 756e6b6e 6f776e20 6e756d62 65720000 unknown number..
│   │    0x00040d30 00000000 00000000 00000000 00000000 ................
│   │    0x00040d40 00000000 00000000 00000000 00000000 ................
│   │    0x00040d50 00000000 00000000 00000000 00000000 ................
│   │ -  0x00040d60 91130000 52455155 4553542d 53544154 ....REQUEST-STAT
│   │ -  0x00040d70 55530000 00000000 a3130000 41435449 US..........ACTI
│   │ -  0x00040d80 4f4e0000 00000000 00000000 00000000 ON..............
│   │ -  0x00040d90 96130000 50455249 4f440000 00000000 ....PERIOD......
│   │ -  0x00040da0 00000000 00000000 8a130000 44415445 ............DATE
│   │ -  0x00040db0 00000000 00000000 00000000 00000000 ................
│   │ -  0x00040dc0 8f130000 53545249 4e470000 00000000 ....STRING......
│   │ -  0x00040dd0 00000000 00000000 94130000 51554552 ............QUER
│   │ -  0x00040de0 592d4c45 56454c00 00000000 00000000 Y-LEVEL.........
│   │ -  0x00040df0 8c130000 47454f00 00000000 00000000 ....GEO.........
│   │ -  0x00040e00 00000000 00000000 8b130000 41545441 ............ATTA
│   │ -  0x00040e10 43480000 00000000 00000000 00000000 CH..............
│   │ -  0x00040e20 99130000 494e5445 47455200 00000000 ....INTEGER.....
│   │ -  0x00040e30 00000000 00000000 93130000 42494e41 ............BINA
│   │ -  0x00040e40 52590000 00000000 00000000 00000000 RY..............
│   │ -  0x00040e50 8d130000 53544154 55530000 00000000 ....STATUS......
│   │ -  0x00040e60 00000000 00000000 a5130000 5554432d ............UTC-
│   │ -  0x00040e70 4f464653 45540000 00000000 00000000 OFFSET..........
│   │ -  0x00040e80 9c130000 44555241 54494f4e 00000000 ....DURATION....
│   │ -  0x00040e90 00000000 00000000 9f130000 43414c2d ............CAL-
│   │ -  0x00040ea0 41444452 45535300 00000000 00000000 ADDRESS.........
│   │ -  0x00040eb0 a9130000 504f4c4c 4d4f4445 00000000 ....POLLMODE....
│   │ -  0x00040ec0 00000000 00000000 9b130000 434c4153 ............CLAS
│   │ -  0x00040ed0 53000000 00000000 00000000 00000000 S...............
│   │ -  0x00040ee0 a6130000 4d455448 4f440000 00000000 ....METHOD......
│   │ -  0x00040ef0 00000000 00000000 90130000 54455854 ............TEXT
│   │ -  0x00040f00 00000000 00000000 00000000 00000000 ................
│   │ +  0x00040d60 a4130000 44415445 2d54494d 45000000 ....DATE-TIME...
│   │ +  0x00040d70 00000000 00000000 a1130000 582d4c49 ............X-LI
│   │ +  0x00040d80 432d434c 41535300 00000000 00000000 C-CLASS.........
│   │ +  0x00040d90 89130000 51554552 59000000 00000000 ....QUERY.......
│   │ +  0x00040da0 00000000 00000000 98130000 4341522d ............CAR-
│   │ +  0x00040db0 4c455645 4c000000 00000000 00000000 LEVEL...........
│   │ +  0x00040dc0 9b130000 434c4153 53000000 00000000 ....CLASS.......
│   │ +  0x00040dd0 00000000 00000000 99130000 494e5445 ............INTE
│   │ +  0x00040de0 47455200 00000000 00000000 00000000 GER.............
│   │ +  0x00040df0 a5130000 5554432d 4f464653 45540000 ....UTC-OFFSET..
│   │ +  0x00040e00 00000000 00000000 8e130000 5452414e ............TRAN
│   │ +  0x00040e10 53500000 00000000 00000000 00000000 SP..............
│   │ +  0x00040e20 9d130000 424f4f4c 45414e00 00000000 ....BOOLEAN.....
│   │ +  0x00040e30 00000000 00000000 a3130000 41435449 ............ACTI
│   │ +  0x00040e40 4f4e0000 00000000 00000000 00000000 ON..............
│   │ +  0x00040e50 92130000 434d4400 00000000 00000000 ....CMD.........
│   │ +  0x00040e60 00000000 00000000 94130000 51554552 ............QUER
│   │ +  0x00040e70 592d4c45 56454c00 00000000 00000000 Y-LEVEL.........
│   │ +  0x00040e80 90130000 54455854 00000000 00000000 ....TEXT........
│   │ +  0x00040e90 00000000 00000000 9e130000 58000000 ............X...
│   │ +  0x00040ea0 00000000 00000000 00000000 00000000 ................
│   │ +  0x00040eb0 8a130000 44415445 00000000 00000000 ....DATE........
│   │ +  0x00040ec0 00000000 00000000 91130000 52455155 ............REQU
│   │ +  0x00040ed0 4553542d 53544154 55530000 00000000 EST-STATUS......
│   │ +  0x00040ee0 93130000 42494e41 52590000 00000000 ....BINARY......
│   │ +  0x00040ef0 00000000 00000000 a0130000 54524947 ............TRIG
│   │ +  0x00040f00 47455200 00000000 00000000 00000000 GER.............
│   │    0x00040f10 97130000 44415445 2d54494d 452d5045 ....DATE-TIME-PE
│   │ -  0x00040f20 52494f44 00000000 9d130000 424f4f4c RIOD........BOOL
│   │ -  0x00040f30 45414e00 00000000 00000000 00000000 EAN.............
│   │ -  0x00040f40 8e130000 5452414e 53500000 00000000 ....TRANSP......
│   │ +  0x00040f20 52494f44 00000000 a9130000 504f4c4c RIOD........POLL
│   │ +  0x00040f30 4d4f4445 00000000 00000000 00000000 MODE............
│   │ +  0x00040f40 9a130000 55524900 00000000 00000000 ....URI.........
│   │    0x00040f50 00000000 00000000 95130000 464c4f41 ............FLOA
│   │    0x00040f60 54000000 00000000 00000000 00000000 T...............
│   │    0x00040f70 a2130000 52454355 52000000 00000000 ....RECUR.......
│   │ -  0x00040f80 00000000 00000000 a4130000 44415445 ............DATE
│   │ -  0x00040f90 2d54494d 45000000 00000000 00000000 -TIME...........
│   │ -  0x00040fa0 a0130000 54524947 47455200 00000000 ....TRIGGER.....
│   │ -  0x00040fb0 00000000 00000000 9e130000 58000000 ............X...
│   │ +  0x00040f80 00000000 00000000 8f130000 53545249 ............STRI
│   │ +  0x00040f90 4e470000 00000000 00000000 00000000 NG..............
│   │ +  0x00040fa0 a6130000 4d455448 4f440000 00000000 ....METHOD......
│   │ +  0x00040fb0 00000000 00000000 8c130000 47454f00 ............GEO.
│   │    0x00040fc0 00000000 00000000 00000000 00000000 ................
│   │ -  0x00040fd0 98130000 4341522d 4c455645 4c000000 ....CAR-LEVEL...
│   │ -  0x00040fe0 00000000 00000000 92130000 434d4400 ............CMD.
│   │ -  0x00040ff0 00000000 00000000 00000000 00000000 ................
│   │ -  0x00041000 a8130000 42555359 54595045 00000000 ....BUSYTYPE....
│   │ -  0x00041010 00000000 00000000 a1130000 582d4c49 ............X-LI
│   │ -  0x00041020 432d434c 41535300 00000000 00000000 C-CLASS.........
│   │ -  0x00041030 89130000 51554552 59000000 00000000 ....QUERY.......
│   │ -  0x00041040 00000000 00000000 9a130000 55524900 ............URI.
│   │ -  0x00041050 00000000 00000000 00000000 00000000 ................
│   │ +  0x00040fd0 a8130000 42555359 54595045 00000000 ....BUSYTYPE....
│   │ +  0x00040fe0 00000000 00000000 96130000 50455249 ............PERI
│   │ +  0x00040ff0 4f440000 00000000 00000000 00000000 OD..............
│   │ +  0x00041000 8b130000 41545441 43480000 00000000 ....ATTACH......
│   │ +  0x00041010 00000000 00000000 9f130000 43414c2d ............CAL-
│   │ +  0x00041020 41444452 45535300 00000000 00000000 ADDRESS.........
│   │ +  0x00041030 9c130000 44555241 54494f4e 00000000 ....DURATION....
│   │ +  0x00041040 00000000 00000000 8d130000 53544154 ............STAT
│   │ +  0x00041050 55530000 00000000 00000000 00000000 US..............
│   │    0x00041060 a7130000 00000000 00000000 00000000 ................
│   │    0x00041070 00000000 00000000 00000000 00000000 ................
│   │    0x00041080 00000000 00000000 00000000 00000000 ................
│   │    0x00041090 00000000 00000000 00000000 00000000 ................
│   │    0x000410a0 00000000 00000000 2f72756e 2f627569 ......../run/bui
│   │    0x000410b0 6c642f6c 69626963 616c2f73 72632f6c ld/libical/src/l
│   │    0x000410c0 69626963 616c2f69 63616c61 72726179 ibical/icalarray
│   ├── readelf --wide --decompress --hex-dump=.gnu_debuglink {}
│   │ @@ -1,5 +1,5 @@
│   │  
│   │  Hex dump of section '.gnu_debuglink':
│   │    0x00000000 6c696269 63616c2e 736f2e31 2e302e31 libical.so.1.0.1
│   │ -  0x00000010 2e646562 75670000 b9b9f1de          .debug......
│   │ +  0x00000010 2e646562 75670000 4721dc85          .debug..G!..
│   │  
│   ╵
╵

-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=


 Alexander Larsson                                            Red Hat, Inc 
       alexl at redhat.com            alexander.larsson at gmail.com 
He's a lonely Republican shaman on the edge. She's a sarcastic paranoid 
widow with an MBA from Harvard. They fight crime! 




More information about the rb-general mailing list