Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package posixovl for openSUSE:Factory checked in at 2023-08-21 11:45:56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/posixovl (Old) and /work/SRC/openSUSE:Factory/.posixovl.new.1766 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "posixovl" Mon Aug 21 11:45:56 2023 rev:13 rq:1104945 version:1.4 Changes: -------- --- /work/SRC/openSUSE:Factory/posixovl/posixovl.changes 2018-09-24 13:12:15.241812833 +0200 +++ /work/SRC/openSUSE:Factory/.posixovl.new.1766/posixovl.changes 2023-08-21 11:46:12.083760093 +0200 @@ -1,0 +2,7 @@ +Mon Aug 21 00:42:43 UTC 2023 - Jan Engelhardt <jeng...@inai.de> + +- Update to release 1.4 + * Document -S option in the manpage + * glibc>=2.38 support + +------------------------------------------------------------------- Old: ---- posixovl-1.3.tar.asc posixovl-1.3.tar.xz New: ---- posixovl-1.4.tar.asc posixovl-1.4.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ posixovl.spec ++++++ --- /var/tmp/diff_new_pack.MaBxfP/_old 2023-08-21 11:46:12.899761656 +0200 +++ /var/tmp/diff_new_pack.MaBxfP/_new 2023-08-21 11:46:12.903761664 +0200 @@ -1,7 +1,7 @@ # # spec file for package posixovl # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,19 +17,18 @@ Name: posixovl -Version: 1.3 +Version: 1.4 Release: 0 Summary: POSIX overlay filesystem License: GPL-2.0-or-later Group: System/Filesystems -Url: http://posixovl.sf.net/ +URL: http://posixovl.sf.net/ -Source: http://downloads.sf.net/posixovl/%name-%version.tar.xz -Source2: http://downloads.sf.net/posixovl/%name-%version.tar.asc +Source: https://inai.de/files/posixovl/%name-%version.tar.xz +Source2: https://inai.de/files/posixovl/%name-%version.tar.asc Source3: %name.keyring -BuildRoot: %{_tmppath}/%{name}-%{version}-build -BuildRequires: autoconf >= 2.61 -BuildRequires: automake >= 1.9 +BuildRequires: c_compiler +BuildRequires: make BuildRequires: pkgconfig BuildRequires: xz BuildRequires: pkgconfig(fuse) >= 2.6.5 @@ -40,14 +39,11 @@ can be seen as a contemporary equivalent of the UMSDOS fs. %prep -%setup -q +%autosetup %build -if [ ! -e configure ]; then - autoreconf -fiv -fi %configure -make %{?_smp_mflags} +%make_build %install b="%buildroot" @@ -56,7 +52,6 @@ ln -s ../man1/posixovl.1 "$b/%_mandir/man8/mount.posixovl.8" %files -%defattr(-,root,root) %_sbindir/* %_mandir/man*/* ++++++ posixovl-1.3.tar.xz -> posixovl-1.4.tar.xz ++++++ ++++ 6247 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/posixovl-1.3/.gitignore new/posixovl-1.4/.gitignore --- old/posixovl-1.3/.gitignore 2018-09-20 10:41:18.000000000 +0200 +++ new/posixovl-1.4/.gitignore 2023-08-21 02:34:19.000000000 +0200 @@ -8,6 +8,7 @@ /build-aux/ /config.* /configure +/configure~ /lntest /mount.posixovl /socket diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/posixovl-1.3/INSTALL.rst new/posixovl-1.4/INSTALL.rst --- old/posixovl-1.3/INSTALL.rst 1970-01-01 01:00:00.000000000 +0100 +++ new/posixovl-1.4/INSTALL.rst 2023-08-21 02:34:19.000000000 +0200 @@ -0,0 +1,43 @@ +In general +========== + +Some Linux distributions have posixovl already available. Use their package +management system if you can. `Repology +<https://repology.org/project/posixovl/versions>`_ is an aggregation page that +summarizes who has got what. + + +Installation when using a Git snapshot +====================================== + +Requirements: + +* autoconf +* automake +* plus any requirements specified for building from tarballs + +Commands for building: + +.. code-block:: sh + + ./autogen.sh + # and now, follow the commands specified for tarballs + + +Installation when using a tarball +================================= + +Requirements: + +* a C compiler +* fuse-devel >= 2.6.5 +* libattr-devel + +Commands for building: + +.. code-block:: sh + + mkdir obj + cd obj + ../configure + make diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/posixovl-1.3/INSTALL.txt new/posixovl-1.4/INSTALL.txt --- old/posixovl-1.3/INSTALL.txt 2018-09-20 10:41:18.000000000 +0200 +++ new/posixovl-1.4/INSTALL.txt 1970-01-01 01:00:00.000000000 +0100 @@ -1,25 +0,0 @@ - - Installation when using a GIT snapshot -========================================== - -Requires: - autoconf, automake - # (plus anything below) - -Commands: - ./autogen.sh; - # (plus anything below) - - - Installation when using a tarball -===================================== - -Requires: - fuse-devel >= 2.6.5 - libattr-devel - -Commands: - mkdir obj; - cd obj; - ../configure; - make; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/posixovl-1.3/README.rst new/posixovl-1.4/README.rst --- old/posixovl-1.3/README.rst 1970-01-01 01:00:00.000000000 +0100 +++ new/posixovl-1.4/README.rst 2023-08-21 02:34:19.000000000 +0200 @@ -0,0 +1,24 @@ +The POSIX Overlay Filesystem +============================ + +posixovl provides a filesystem view that adds various POSIX operations atop +lower filesystems that may lack such. VFAT is a common denominator when it +comes to cross-compatibility, though NTFS â its features are unused in Linux â +would be another possibility. Native POSIX-capable filesystems can be used too, +though that seems like an unusual application of posixovl. + +* `Installation instructions <INSTALL.rst>`_ +* Runtime use is described in a manpage. Use `man -l posixovl.1` to view + (or `man posixovl` when using a distro-supplied pre-built package). + +POSIX features provided: + +* Ownership and modes +* Extended file attributes +* Hardlinks, special file types + +Features (POSIX or otherwise) not explicitly provided by this layer: + +* O_TMPFILE +* Locking +* Absolute atomicity diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/posixovl-1.3/build-aux/compile new/posixovl-1.4/build-aux/compile --- old/posixovl-1.3/build-aux/compile 2018-09-20 10:41:22.346333068 +0200 +++ new/posixovl-1.4/build-aux/compile 2023-08-21 02:34:27.822496363 +0200 @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2018 Free Software Foundation, Inc. +# Copyright (C) 1999-2021 Free Software Foundation, Inc. # Written by Tom Tromey <tro...@cygnus.com>. # # This program is free software; you can redistribute it and/or modify @@ -53,7 +53,7 @@ MINGW*) file_conv=mingw ;; - CYGWIN*) + CYGWIN* | MSYS*) file_conv=cygwin ;; *) @@ -67,7 +67,7 @@ mingw/*) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; - cygwin/*) + cygwin/* | msys/*) file=`cygpath -m "$file" || echo "$file"` ;; wine/*) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/posixovl-1.3/build-aux/missing new/posixovl-1.4/build-aux/missing --- old/posixovl-1.3/build-aux/missing 2018-09-20 10:41:22.350333025 +0200 +++ new/posixovl-1.4/build-aux/missing 2023-08-21 02:34:27.825829721 +0200 @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1996-2018 Free Software Foundation, Inc. +# Copyright (C) 1996-2021 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard <pin...@iro.umontreal.ca>, 1996. # This program is free software; you can redistribute it and/or modify diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/posixovl-1.3/changelog.rst new/posixovl-1.4/changelog.rst --- old/posixovl-1.3/changelog.rst 1970-01-01 01:00:00.000000000 +0100 +++ new/posixovl-1.4/changelog.rst 2023-08-21 02:34:19.000000000 +0200 @@ -0,0 +1,5 @@ +1.4 (2023-08-21) +================ + +* Document -S option in the manpage +* glibc>=2.38 support diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/posixovl-1.3/config.h.in new/posixovl-1.4/config.h.in --- old/posixovl-1.3/config.h.in 2018-09-20 10:41:21.942337439 +0200 +++ new/posixovl-1.4/config.h.in 2023-08-21 02:34:27.565827836 +0200 @@ -9,12 +9,12 @@ /* Define if you have a FUSE version >= 2.6.5 but < 2.7.0 */ #undef HAVE_JUST_FUSE_2_6_5 -/* Define to 1 if you have the <memory.h> header file. */ -#undef HAVE_MEMORY_H - /* Define to 1 if you have the <stdint.h> header file. */ #undef HAVE_STDINT_H +/* Define to 1 if you have the <stdio.h> header file. */ +#undef HAVE_STDIO_H + /* Define to 1 if you have the <stdlib.h> header file. */ #undef HAVE_STDLIB_H @@ -60,7 +60,9 @@ /* Define to the version of this package. */ #undef PACKAGE_VERSION -/* Define to 1 if you have the ANSI C header files. */ +/* Define to 1 if all of the C90 standard headers exist (not just the ones + required in a freestanding environment). This macro is provided for + backward compatibility; new code need not use it. */ #undef STDC_HEADERS /* Version number of package */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/posixovl-1.3/configure.ac new/posixovl-1.4/configure.ac --- old/posixovl-1.3/configure.ac 2018-09-20 10:41:18.000000000 +0200 +++ new/posixovl-1.4/configure.ac 2023-08-21 02:34:19.000000000 +0200 @@ -1,4 +1,4 @@ -AC_INIT([posixovl], [1.3]) +AC_INIT([posixovl], [1.4]) AC_PREREQ([2.61]) AC_CONFIG_AUX_DIR([build-aux]) AC_CONFIG_HEADERS([config.h]) @@ -7,7 +7,7 @@ AC_PROG_CC AM_PROG_CC_C_O -regular_CPPFLAGS="-D_FORTIFY_SOURCE=2 -D_LARGEFILE_SOURCE=1 -D_LARGE_FILES \ +regular_CPPFLAGS="-D_LARGEFILE_SOURCE=1 -D_LARGE_FILES \ -D_FILE_OFFSET_BITS=64 -D_REENTRANT"; regular_CFLAGS="-std=c99 -Wall -Waggregate-return \ -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/posixovl-1.3/posixovl.1 new/posixovl-1.4/posixovl.1 --- old/posixovl-1.3/posixovl.1 2018-09-20 10:41:18.000000000 +0200 +++ new/posixovl-1.4/posixovl.1 2023-08-21 02:34:19.000000000 +0200 @@ -1,24 +1,21 @@ .TH posixovl 1 "2010-12-07" "posixovl" "posixovl" .SH Name -.PP posixovl \(em The POSIX Overlay Filesystem .SH Syntax -.PP \fBmount.posixovl\fP [\fB\-FH\fP] [\fB\-S\fP \fIsource_dir\fP] \fItarget_dir\fP [\fB\-\-\fP \fIfuse_opts\fP] .SH Description -.PP posixovl provides a filesystem view that supports various POSIX operations while using an otherwise incapable lower filesystem. Filesystems of various degrees of POSIXness can be utilitzed. VFAT is a common denominator when it -comes to cross-compatibility, though NTFS \(em its features are unused in -Linux \(em would be another possibility. Secondly, potent native POSIX-style -filesystems can also be used, though the actual use of doing that remains to -be discovered. +comes to cross-compatibility, though NTFS \(em its features are unused in Linux +\(em would be another possibility. Native POSIX-capable filesystems can be used +too, though that seems like an unusual application of posixovl. .SH Options -.PP -If no source directory is given, the target directory specifies both source -and target (mountpoint), yielding an "overmount". +If no source directory is given with an \fB-S\fP option, the target directory +specifies both source and target (mountpoint), yielding an "overmount", whereby +the contents of the lower filesystem may become inaccessible while the mount is +active (which may be a good thing, depending on your viewpoint). .TP \fB\-F\fP Disable permission and ownership checks on the lower filesystem. Normally these @@ -31,8 +28,10 @@ created, the contents of the file will be replicated in the lower filesystem rather than using zero-sized placeholder files. Note that the replicas will not be updated later on when editing the inode through posixovl. +.TP +\fB\-S\fP \fIsource_dir\fP +This option may be used to specify an alternate path for the lower directory. .SH Supported operations -.PP posixovl will emulate the following calls if the lower filesystem is incapable of supporting these operations: .IP \(bu 4 @@ -57,7 +56,6 @@ .IP \(bu 4 Case-sensitivity .SH Notes -.PP Using posixovl on an already POSIX-behaving filesystem (e.g. XFS) incurs some issues, since detecting whether a path is POSIX behaving or not is difficult. Hence, the following decision was made: @@ -94,7 +92,6 @@ .PP $ mount -t vfat /dev/hda1 /windows/D -o check=s,shortname=mixed .SH Authors -.PP posixovl and this manpage were written by Jan Engelhardt. .PP Development of posixovl was sponsored by Slax (http://www.slax.org/). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/posixovl-1.3/posixovl.c new/posixovl-1.4/posixovl.c --- old/posixovl-1.3/posixovl.c 2018-09-20 10:41:18.000000000 +0200 +++ new/posixovl-1.4/posixovl.c 2023-08-21 02:34:19.000000000 +0200 @@ -193,9 +193,11 @@ return in + 1; } -static char *strlcpy(char *dest, const char *src, size_t n) +static char *px_strlcpy(char *dest, const char *src, size_t n) { - strncpy(dest, src, n); + if (n == 0) + return dest; + strncpy(dest, src, n - 1); dest[n-1] = '\0'; return dest; } @@ -207,7 +209,7 @@ { char *last, *p; - strlcpy(dest, src, destsize); + px_strlcpy(dest, src, destsize); last = dest; while ((p = strstr(last, "/" HL_DNODE_PREFIX)) != NULL) last = p + 1; @@ -639,7 +641,7 @@ * '\0', it must be "/". I am trying to optimize here. */ path[0] = '/'; - strlcpy(&path[1], name, sizeof(path) - 1); + px_strlcpy(&path[1], name, sizeof(path) - 1); ret = strlen(name) + 1; } else { ret = snprintf(path, sizeof(path), "%s/%s", dir, name); @@ -1249,7 +1251,7 @@ goto out2; new_info.ll.mode = S_IFHARDLNK; new_info.ll.nlink = 1; - strlcpy(new_info.ll.new_target, l1_path, sizeof(new_info.ll.new_target)); + px_strlcpy(new_info.ll.new_target, l1_path, sizeof(new_info.ll.new_target)); hcb_update(&new_info); /* instantiate first link into readdir visibility */ @@ -1367,7 +1369,7 @@ goto out; cb_new.ll.mode = S_IFHARDLNK; cb_new.ll.nlink = 1; - strlcpy(cb_new.ll.new_target, cb_old.ll.target, + px_strlcpy(cb_new.ll.new_target, cb_old.ll.target, sizeof(cb_new.ll.new_target)); if ((ret = hcb_update(&cb_new)) < 0) goto out; @@ -1642,7 +1644,7 @@ return -EINVAL; /* not a symbolic link */ memset(dest, 0, size); - strlcpy(dest, info.ll.target, size); + px_strlcpy(dest, info.ll.target, size); return 0; } @@ -1778,7 +1780,7 @@ info.ll.nlink = 1; info.ll.uid = ctx->uid; info.ll.gid = ctx->gid; - strlcpy(info.ll.new_target, oldpath, sizeof(info.ll.new_target)); + px_strlcpy(info.ll.new_target, oldpath, sizeof(info.ll.new_target)); if ((ret = hcb_update(&info)) < 0) return ret; @@ -2014,21 +2016,21 @@ while ((c = getopt(argc, argv, "1FHS:")) > 0) { switch (c) { - case '1': - single_threaded = true; - break; - case 'F': - assume_vfat = true; - break; - case 'H': - hardlink_with_copy = true; - break; - case 'S': - root_dir = optarg; - break; - default: - usage(*argv); - return EXIT_FAILURE; + case '1': + single_threaded = true; + break; + case 'F': + assume_vfat = true; + break; + case 'H': + hardlink_with_copy = true; + break; + case 'S': + root_dir = optarg; + break; + default: + usage(*argv); + return EXIT_FAILURE; } } @@ -2068,7 +2070,7 @@ new_argv[new_argc++] = *aptr; new_argv[new_argc] = NULL; - c = fuse_main(new_argc, (char **)new_argv, &posixovl_ops, NULL); + c = fuse_main(new_argc, new_argv, &posixovl_ops, NULL); if (fchdir(original_wd) < 0) /* ignore */{} return c; ++++++ posixovl.keyring ++++++ --- /var/tmp/diff_new_pack.MaBxfP/_old 2023-08-21 11:46:13.067761978 +0200 +++ /var/tmp/diff_new_pack.MaBxfP/_new 2023-08-21 11:46:13.071761986 +0200 @@ -1,86 +1,26 @@ -----BEGIN PGP PUBLIC KEY BLOCK----- -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 -cCAy -=ePMx +mDMEYdM5whYJKwYBBAHaRw8BAQdADytr1kM/qc54vO40yIHht0XeDD7sMe1rw8Xo +Nq/LtMO0IEphbiBFbmdlbGhhcmR0IDxqZW5nZWxoQGluYWkuZGU+iJUEExYKAD0W +IQS8oMXDCcrFaedKkhz3bv5dDCI6jwUCYdM5wgIbAwUJCWYBgAQLCQgHBRUKCQgL +BRYCAwEAAh4FAheAAAoJEPdu/l0MIjqPriUBAPLcct0ekiHZHS/mPDaS0I0mh5zy +zaZFuB5FaMpQQgQ5AP45H+SqGxP7BRlsEDajDmcEyM+IPvn22lOGKyR5OKQxDokC +MwQQAQoAHRYhBCNobBCkVpG+ekJRCdY4gYHzWgk4BQJh0zqPAAoJENY4gYHzWgk4 +F7EP/3ZG6rs4l24k/GOvO1CNPM0rHaOccbB3E8BXzTJ6BsKIG1T3X4cokLHAkhmO +8ffw9NYV/HJ1AJyirvHfYFd6nn55aMakbyjo7RmDpmMmpJH5UpbhtqlJkeRQdMni +3bx+9i9E8QFJG6eFaGz8UhCCyzQvuLhawNcA6mPDumQkIri73NnA9vegw8yyDqpr +14fm4Eh+uERzXQ6JkNTqaZuKfyryb4MSluJ6LEUqNv1vqJeCHoE5iQc0WaDPamiP +Dnd3G/k2KHIFTlYdFVKnow0MYo+kyRKxUUL38x/tZ/WEhSv9oiNUOqTZJhkPOHOv +VaHfRdxOGV3845bWngegkXD6KGQvWT1vlfGa9XbNqxWQFqi59malm/jShnd8XJAK +gZuU9pB70lFwCglc+NQLPPrY16cYwFv1L2xU3owhtdiMydTI38Cw7hPteYPkASpa +/1EHf0pPxRhv01RtrPEsGhroXennooFTHe6U0Ay3Z0yBZbRJhoDv8PvBZ4RatdNR +p05qu2SBUWC+neecIHvbguI9x5G8egJ8WsGgDAuMcvWsW95H9oj/aONAgtL6LcsT +KHaPI9senfBTYI+ak+E9sHi/kaQIl5umvf8+B2CAh4QPhmkYvGtINH+HCZI6WdyE +tIsg+JklBgFwSBus9zHHUwwBfio2PgIlocRL6SL5Q2amcALPuDgEYdM5whIKKwYB +BAGXVQEFAQEHQKpjexO72fM4FUcrTh2r6MCyxmAF0CBUpnTQeIk5nVZ2AwEIB4h+ +BBgWCgAmFiEEvKDFwwnKxWnnSpIc927+XQwiOo8FAmHTOcICGwwFCQlmAYAACgkQ +927+XQwiOo/sOgD9GOjmj2blZGtR5attfY46/9B9bBkb8kDW7LACK007YZUBAJr8 +JCfIUFBfm5b/ev80rscAUSp4uTn4Z/W6ywR5STIH +=NTtt -----END PGP PUBLIC KEY BLOCK-----