* [PATCH] libebl: Don't install libebl.a, libebl.h and remove backends from spec. @ 2019-08-29 21:44 Mark Wielaard 2019-09-10 13:45 ` Mark Wielaard 2020-01-02 0:02 ` Dmitry V. Levin 0 siblings, 2 replies; 7+ messages in thread From: Mark Wielaard @ 2019-08-29 21:44 UTC (permalink / raw) To: elfutils-devel; +Cc: Omar Sandoval, Mark Wielaard All archive members from libebl.a are now in libdw.a. We don't generate separate backend shared libraries anymore. So remove them from the elfutils.spec file. Signed-off-by: Mark Wielaard <mark@klomp.org> --- config/ChangeLog | 7 +++++++ config/elfutils.spec.in | 10 ++-------- libebl/ChangeLog | 5 +++++ libebl/Makefile.am | 7 ++----- 4 files changed, 16 insertions(+), 13 deletions(-) diff --git a/config/ChangeLog b/config/ChangeLog index a7e98d77..b641d0d5 100644 --- a/config/ChangeLog +++ b/config/ChangeLog @@ -1,3 +1,10 @@ +2019-08-29 Mark Wielaard <mark@klomp.org> + + * elfutils.spec.in (%description devel): Remove libebl text. + (%install): Don't touch backend lib.*.so* files. + (%files): Remove backends dir and so files. + (%files devel): Remove libebl.h and libebl.a + 2019-08-28 Mark Wielaard <mark@klomp.org> * elfutils.spec.in (License): Add GFDL. diff --git a/config/elfutils.spec.in b/config/elfutils.spec.in index 513c4e79..6771d13b 100644 --- a/config/elfutils.spec.in +++ b/config/elfutils.spec.in @@ -51,9 +51,8 @@ Requires: elfutils-libelf-devel = %{version}-%{release} %description devel The elfutils-devel package contains the libraries to create -applications for handling compiled objects. libebl provides some -higher-level ELF access functionality. libdw provides access to -the DWARF debugging information. libasm provides a programmable +applications for handling compiled objects. libdw provides access +to the DWARF debugging information. libasm provides a programmable assembler interface. %package devel-static @@ -131,7 +130,6 @@ mkdir -p ${RPM_BUILD_ROOT}%{_prefix} %makeinstall chmod +x ${RPM_BUILD_ROOT}%{_prefix}/%{_lib}/lib*.so* -chmod +x ${RPM_BUILD_ROOT}%{_prefix}/%{_lib}/elfutils/lib*.so* # XXX Nuke unpackaged files ( cd ${RPM_BUILD_ROOT} @@ -184,8 +182,6 @@ rm -rf ${RPM_BUILD_ROOT} %{_libdir}/libdw-%{version}.so %{_libdir}/libasm.so.* %{_libdir}/libdw.so.* -%dir %{_libdir}/elfutils -%{_libdir}/elfutils/lib*.so %{_mandir}/man1/eu-*.1* %files devel @@ -195,12 +191,10 @@ rm -rf ${RPM_BUILD_ROOT} %{_includedir}/elfutils/elf-knowledge.h %{_includedir}/elfutils/known-dwarf.h #%{_includedir}/elfutils/libasm.h -%{_includedir}/elfutils/libebl.h %{_includedir}/elfutils/libdw.h %{_includedir}/elfutils/libdwfl.h %{_includedir}/elfutils/libdwelf.h %{_includedir}/elfutils/version.h -%{_libdir}/libebl.a #%{_libdir}/libasm.so %{_libdir}/libdw.so %{_libdir}/pkgconfig/libdw.pc diff --git a/libebl/ChangeLog b/libebl/ChangeLog index 6ba3a02b..4da7eeeb 100644 --- a/libebl/ChangeLog +++ b/libebl/ChangeLog @@ -1,3 +1,8 @@ +2019-08-29 Mark Wielaard <mark@klomp.org> + + * Makefile.am (noinst_LIBRARIES): Add libebl.a. + (noinst_HEADERS): Add libebl.h. + 2019-07-05 Omar Sandoval <osandov@fb.com> * Makefile.am: Make libebl.a non-PIC by default. diff --git a/libebl/Makefile.am b/libebl/Makefile.am index 8af84633..d0d475b8 100644 --- a/libebl/Makefile.am +++ b/libebl/Makefile.am @@ -34,10 +34,7 @@ endif AM_CPPFLAGS += -I$(srcdir)/../libelf -I$(srcdir)/../libdw -I$(srcdir)/../libasm VERSION = 1 -lib_LIBRARIES = libebl.a -noinst_LIBRARIES = libebl_pic.a - -pkginclude_HEADERS = libebl.h +noinst_LIBRARIES = libebl.a libebl_pic.a libebl_a_SOURCES = eblopenbackend.c eblclosebackend.c eblreloctypename.c \ eblsegmenttypename.c eblsectiontypename.c \ @@ -62,6 +59,6 @@ libebl_a_SOURCES = eblopenbackend.c eblclosebackend.c eblreloctypename.c \ libebl_pic_a_SOURCES = am_libebl_pic_a_OBJECTS = $(libebl_a_SOURCES:.c=.os) -noinst_HEADERS = libeblP.h ebl-hooks.h +noinst_HEADERS = libebl.h libeblP.h ebl-hooks.h MOSTLYCLEANFILES = $(am_libebl_pic_a_OBJECTS) -- 2.18.1 ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] libebl: Don't install libebl.a, libebl.h and remove backends from spec. 2019-08-29 21:44 [PATCH] libebl: Don't install libebl.a, libebl.h and remove backends from spec Mark Wielaard @ 2019-09-10 13:45 ` Mark Wielaard 2020-01-02 0:02 ` Dmitry V. Levin 1 sibling, 0 replies; 7+ messages in thread From: Mark Wielaard @ 2019-09-10 13:45 UTC (permalink / raw) To: elfutils-devel; +Cc: Omar Sandoval On Thu, 2019-08-29 at 23:43 +0200, Mark Wielaard wrote: > All archive members from libebl.a are now in libdw.a. We don't generate > separate backend shared libraries anymore. So remove them from the > elfutils.spec file. Pushed to master. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] libebl: Don't install libebl.a, libebl.h and remove backends from spec. 2019-08-29 21:44 [PATCH] libebl: Don't install libebl.a, libebl.h and remove backends from spec Mark Wielaard 2019-09-10 13:45 ` Mark Wielaard @ 2020-01-02 0:02 ` Dmitry V. Levin 2020-01-08 14:09 ` Mark Wielaard 1 sibling, 1 reply; 7+ messages in thread From: Dmitry V. Levin @ 2020-01-02 0:02 UTC (permalink / raw) To: Mark Wielaard; +Cc: elfutils-devel, Omar Sandoval [-- Attachment #1: Type: text/plain, Size: 2180 bytes --] Hi, On Thu, Aug 29, 2019 at 11:43:58PM +0200, Mark Wielaard wrote: > All archive members from libebl.a are now in libdw.a. We don't generate > separate backend shared libraries anymore. So remove them from the > elfutils.spec file. > > Signed-off-by: Mark Wielaard <mark@klomp.org> > --- > config/ChangeLog | 7 +++++++ > config/elfutils.spec.in | 10 ++-------- > libebl/ChangeLog | 5 +++++ > libebl/Makefile.am | 7 ++----- > 4 files changed, 16 insertions(+), 13 deletions(-) [...] > diff --git a/libebl/ChangeLog b/libebl/ChangeLog > index 6ba3a02b..4da7eeeb 100644 > --- a/libebl/ChangeLog > +++ b/libebl/ChangeLog > @@ -1,3 +1,8 @@ > +2019-08-29 Mark Wielaard <mark@klomp.org> > + > + * Makefile.am (noinst_LIBRARIES): Add libebl.a. > + (noinst_HEADERS): Add libebl.h. (pkginclude_HEADERS): Remove. > + > 2019-07-05 Omar Sandoval <osandov@fb.com> > > * Makefile.am: Make libebl.a non-PIC by default. > diff --git a/libebl/Makefile.am b/libebl/Makefile.am > index 8af84633..d0d475b8 100644 > --- a/libebl/Makefile.am > +++ b/libebl/Makefile.am > @@ -34,10 +34,7 @@ endif > AM_CPPFLAGS += -I$(srcdir)/../libelf -I$(srcdir)/../libdw -I$(srcdir)/../libasm > VERSION = 1 > > -lib_LIBRARIES = libebl.a > -noinst_LIBRARIES = libebl_pic.a > - > -pkginclude_HEADERS = libebl.h > +noinst_LIBRARIES = libebl.a libebl_pic.a > > libebl_a_SOURCES = eblopenbackend.c eblclosebackend.c eblreloctypename.c \ > eblsegmenttypename.c eblsectiontypename.c \ > @@ -62,6 +59,6 @@ libebl_a_SOURCES = eblopenbackend.c eblclosebackend.c eblreloctypename.c \ > libebl_pic_a_SOURCES = > am_libebl_pic_a_OBJECTS = $(libebl_a_SOURCES:.c=.os) > > -noinst_HEADERS = libeblP.h ebl-hooks.h > +noinst_HEADERS = libebl.h libeblP.h ebl-hooks.h > > MOSTLYCLEANFILES = $(am_libebl_pic_a_OBJECTS) After this part of the change libebl.h is no longer installed, but it's included by libasm.h which is still installed. This has to be fixed somehow, but I'm not sure whether libebl.h should be reinstated, libasm.h should stop to include it, or libasm.h should stop to be installed. -- ldv [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 801 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] libebl: Don't install libebl.a, libebl.h and remove backends from spec. 2020-01-02 0:02 ` Dmitry V. Levin @ 2020-01-08 14:09 ` Mark Wielaard 2020-01-08 23:25 ` Dmitry V. Levin 0 siblings, 1 reply; 7+ messages in thread From: Mark Wielaard @ 2020-01-08 14:09 UTC (permalink / raw) To: Dmitry V. Levin; +Cc: elfutils-devel, Omar Sandoval [-- Attachment #1: Type: text/plain, Size: 2026 bytes --] Hi Dmitry, On Thu, 2020-01-02 at 03:02 +0300, Dmitry V. Levin wrote: > On Thu, Aug 29, 2019 at 11:43:58PM +0200, Mark Wielaard wrote: > > All archive members from libebl.a are now in libdw.a. We don't generate > > separate backend shared libraries anymore. So remove them from the > > elfutils.spec file. > > > > diff --git a/libebl/ChangeLog b/libebl/ChangeLog > > index 6ba3a02b..4da7eeeb 100644 > > --- a/libebl/ChangeLog > > +++ b/libebl/ChangeLog > > @@ -1,3 +1,8 @@ > > +2019-08-29 Mark Wielaard <mark@klomp.org> > > + > > + * Makefile.am (noinst_LIBRARIES): Add libebl.a. > > + (noinst_HEADERS): Add libebl.h. > > (pkginclude_HEADERS): Remove. Ah, yes, sorry missed that one. > > @@ -62,6 +59,6 @@ libebl_a_SOURCES = eblopenbackend.c > > eblclosebackend.c eblreloctypename.c \ > > libebl_pic_a_SOURCES = > > am_libebl_pic_a_OBJECTS = $(libebl_a_SOURCES:.c=.os) > > > > -noinst_HEADERS = libeblP.h ebl-hooks.h > > +noinst_HEADERS = libebl.h libeblP.h ebl-hooks.h > > > > MOSTLYCLEANFILES = $(am_libebl_pic_a_OBJECTS) > > After this part of the change libebl.h is no longer installed, but > it's included by libasm.h which is still installed. > > This has to be fixed somehow, but I'm not sure whether libebl.h should be > reinstated, libasm.h should stop to include it, or libasm.h should stop > to be installed. Urgh. Missed that too. Even if you could use libasm.h, linking with libasm always was kind of useless since there was no supported way to create an Ebl handle. Unless you statically linked with libebl, which was never supported and might still not work since it might conflict with changes in the libebl linked to by libasm/libdw. In fact our own elfutils.spec doesn't even install it. But sadly some distros (including Fedora... my fault) do install it. Short term I propose the attached patch. But longer term we need new asm_begin and disasm_begin functions that don't depend on unsupportable libebl features. Cheers, Mark [-- Attachment #2: 0001-libasm.h-Don-t-include-libebl.h.-Define-an-opaque-Eb.patch --] [-- Type: text/x-patch, Size: 4760 bytes --] From 5cf9865639fdedc22e06f09bfa3f7713b8b65d95 Mon Sep 17 00:00:00 2001 From: Mark Wielaard <mark@klomp.org> Date: Wed, 8 Jan 2020 15:04:50 +0100 Subject: [PATCH] libasm.h: Don't include libebl.h. Define an opaque Ebl handle. Using libasm isn't really usable without a way to create an Ebl handle. But we don't support libebl.h (and libebl itself). Just define the Ebl handle as an opaque struct. Code that uses it needs to figure out how to instantiate one itself (they cannot in any supportable way...) Signed-off-by: Mark Wielaard <mark@klomp.org> --- libasm/ChangeLog | 5 +++++ libasm/libasm.h | 2 +- libasm/libasmP.h | 1 + tests/ChangeLog | 4 ++++ tests/asm-tst1.c | 1 + tests/asm-tst2.c | 1 + tests/asm-tst3.c | 1 + tests/asm-tst4.c | 1 + tests/asm-tst5.c | 1 + tests/asm-tst6.c | 1 + tests/asm-tst7.c | 1 + tests/asm-tst8.c | 1 + tests/asm-tst9.c | 1 + 13 files changed, 20 insertions(+), 1 deletion(-) diff --git a/libasm/ChangeLog b/libasm/ChangeLog index a1abac88..7b0d3df3 100644 --- a/libasm/ChangeLog +++ b/libasm/ChangeLog @@ -1,3 +1,8 @@ +2020-01-08 Mark Wielaard <mark@klomp.org> + + * libasm.h: Don't include libebl.h. Define an opaque Ebl handle. + * libasmP.h: Do include libebl.h. + 2019-08-28 Mark Wielaard <mark@klomp.org> * Makefile.am (libasm_so_DEPS): Replace libebl.a with libebl_pic.a. diff --git a/libasm/libasm.h b/libasm/libasm.h index 5c612243..a45c9fa3 100644 --- a/libasm/libasm.h +++ b/libasm/libasm.h @@ -32,7 +32,7 @@ #include <stdbool.h> #include <stdint.h> -#include <libebl.h> +typedef struct ebl Ebl; /* Opaque type for the assembler context descriptor. */ diff --git a/libasm/libasmP.h b/libasm/libasmP.h index 54460cf9..a4703fc3 100644 --- a/libasm/libasmP.h +++ b/libasm/libasmP.h @@ -31,6 +31,7 @@ #include <stdio.h> +#include "libebl.h" #include <libasm.h> #include "libdwelf.h" diff --git a/tests/ChangeLog b/tests/ChangeLog index 7103cf51..2ed36c6c 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,3 +1,7 @@ +2020-01-08 Mark Wielaard <mark@klomp.org> + + * asm-test?.c: include libebl.h. + 2019-12-04 Frank Ch. Eigler <fche@redhat.com> * run-debuinfod-find.sh: Test $DEBUGINFOD_PROGRESS. diff --git a/tests/asm-tst1.c b/tests/asm-tst1.c index 9afc676b..cdf2a921 100644 --- a/tests/asm-tst1.c +++ b/tests/asm-tst1.c @@ -20,6 +20,7 @@ #endif #include <fcntl.h> +#include ELFUTILS_HEADER(ebl) #include ELFUTILS_HEADER(asm) #include <libelf.h> #include <stdio.h> diff --git a/tests/asm-tst2.c b/tests/asm-tst2.c index 2556d0c4..9e88b70c 100644 --- a/tests/asm-tst2.c +++ b/tests/asm-tst2.c @@ -20,6 +20,7 @@ #endif #include <fcntl.h> +#include ELFUTILS_HEADER(ebl) #include ELFUTILS_HEADER(asm) #include <libelf.h> #include <stdio.h> diff --git a/tests/asm-tst3.c b/tests/asm-tst3.c index e52cfbe1..39c1d90c 100644 --- a/tests/asm-tst3.c +++ b/tests/asm-tst3.c @@ -20,6 +20,7 @@ #endif #include <fcntl.h> +#include ELFUTILS_HEADER(ebl) #include ELFUTILS_HEADER(asm) #include <libelf.h> #include <stdio.h> diff --git a/tests/asm-tst4.c b/tests/asm-tst4.c index 52e9e20b..5114938b 100644 --- a/tests/asm-tst4.c +++ b/tests/asm-tst4.c @@ -20,6 +20,7 @@ #endif #include <fcntl.h> +#include ELFUTILS_HEADER(ebl) #include ELFUTILS_HEADER(asm) #include <libelf.h> #include <stdio.h> diff --git a/tests/asm-tst5.c b/tests/asm-tst5.c index 5a29b01c..dcb852f8 100644 --- a/tests/asm-tst5.c +++ b/tests/asm-tst5.c @@ -20,6 +20,7 @@ #endif #include <fcntl.h> +#include ELFUTILS_HEADER(ebl) #include ELFUTILS_HEADER(asm) #include <libelf.h> #include <stdio.h> diff --git a/tests/asm-tst6.c b/tests/asm-tst6.c index bd9b362b..829cd90c 100644 --- a/tests/asm-tst6.c +++ b/tests/asm-tst6.c @@ -19,6 +19,7 @@ # include <config.h> #endif +#include ELFUTILS_HEADER(ebl) #include ELFUTILS_HEADER(asm) #include <libelf.h> #include <stdio.h> diff --git a/tests/asm-tst7.c b/tests/asm-tst7.c index 00cb2bfe..90179769 100644 --- a/tests/asm-tst7.c +++ b/tests/asm-tst7.c @@ -21,6 +21,7 @@ #include <fcntl.h> #include <inttypes.h> +#include ELFUTILS_HEADER(ebl) #include ELFUTILS_HEADER(asm) #include <libelf.h> #include <stdio.h> diff --git a/tests/asm-tst8.c b/tests/asm-tst8.c index 4fb0d998..a65509fe 100644 --- a/tests/asm-tst8.c +++ b/tests/asm-tst8.c @@ -21,6 +21,7 @@ #include <fcntl.h> #include <inttypes.h> +#include ELFUTILS_HEADER(ebl) #include ELFUTILS_HEADER(asm) #include <libelf.h> #include <stdio.h> diff --git a/tests/asm-tst9.c b/tests/asm-tst9.c index b6d0e431..681e872d 100644 --- a/tests/asm-tst9.c +++ b/tests/asm-tst9.c @@ -21,6 +21,7 @@ #include <fcntl.h> #include <inttypes.h> +#include ELFUTILS_HEADER(ebl) #include ELFUTILS_HEADER(asm) #include <libelf.h> #include <stdio.h> -- 2.18.1 ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] libebl: Don't install libebl.a, libebl.h and remove backends from spec. 2020-01-08 14:09 ` Mark Wielaard @ 2020-01-08 23:25 ` Dmitry V. Levin 2020-01-09 23:43 ` Mark Wielaard 0 siblings, 1 reply; 7+ messages in thread From: Dmitry V. Levin @ 2020-01-08 23:25 UTC (permalink / raw) To: Mark Wielaard; +Cc: elfutils-devel, Omar Sandoval Hi Mark, On Wed, Jan 08, 2020 at 03:09:32PM +0100, Mark Wielaard wrote: > On Thu, 2020-01-02 at 03:02 +0300, Dmitry V. Levin wrote: > > On Thu, Aug 29, 2019 at 11:43:58PM +0200, Mark Wielaard wrote: > > > All archive members from libebl.a are now in libdw.a. We don't generate > > > separate backend shared libraries anymore. So remove them from the > > > elfutils.spec file. > > > > > > diff --git a/libebl/ChangeLog b/libebl/ChangeLog > > > index 6ba3a02b..4da7eeeb 100644 > > > --- a/libebl/ChangeLog > > > +++ b/libebl/ChangeLog > > > @@ -1,3 +1,8 @@ > > > +2019-08-29 Mark Wielaard <mark@klomp.org> > > > + > > > + * Makefile.am (noinst_LIBRARIES): Add libebl.a. > > > + (noinst_HEADERS): Add libebl.h. > > > > (pkginclude_HEADERS): Remove. > > Ah, yes, sorry missed that one. > > > > @@ -62,6 +59,6 @@ libebl_a_SOURCES = eblopenbackend.c > > > eblclosebackend.c eblreloctypename.c \ > > > libebl_pic_a_SOURCES = > > > am_libebl_pic_a_OBJECTS = $(libebl_a_SOURCES:.c=.os) > > > > > > -noinst_HEADERS = libeblP.h ebl-hooks.h > > > +noinst_HEADERS = libebl.h libeblP.h ebl-hooks.h > > > > > > MOSTLYCLEANFILES = $(am_libebl_pic_a_OBJECTS) > > > > After this part of the change libebl.h is no longer installed, but > > it's included by libasm.h which is still installed. > > > > This has to be fixed somehow, but I'm not sure whether libebl.h should be > > reinstated, libasm.h should stop to include it, or libasm.h should stop > > to be installed. > > Urgh. Missed that too. > > Even if you could use libasm.h, linking with libasm always was kind of > useless since there was no supported way to create an Ebl handle. > Unless you statically linked with libebl, which was never supported and > might still not work since it might conflict with changes in the libebl > linked to by libasm/libdw. > > In fact our own elfutils.spec doesn't even install it. But sadly some > distros (including Fedora... my fault) do install it. > > Short term I propose the attached patch. Thanks, it works: the packaging check that used to complain about compilation error in installed libasm.h turns green when this patch is applied. -- ldv ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] libebl: Don't install libebl.a, libebl.h and remove backends from spec. 2020-01-08 23:25 ` Dmitry V. Levin @ 2020-01-09 23:43 ` Mark Wielaard 2020-01-13 11:59 ` Mark Wielaard 0 siblings, 1 reply; 7+ messages in thread From: Mark Wielaard @ 2020-01-09 23:43 UTC (permalink / raw) To: Dmitry V. Levin; +Cc: elfutils-devel, Omar Sandoval Hi Dmitry, On Thu, 2020-01-09 at 02:25 +0300, Dmitry V. Levin wrote: > On Wed, Jan 08, 2020 at 03:09:32PM +0100, Mark Wielaard wrote: > > Even if you could use libasm.h, linking with libasm always was kind > > of > > useless since there was no supported way to create an Ebl handle. > > Unless you statically linked with libebl, which was never supported and > > might still not work since it might conflict with changes in the libebl > > linked to by libasm/libdw. > > > > In fact our own elfutils.spec doesn't even install it. But sadly some > > distros (including Fedora... my fault) do install it. > > > > Short term I propose the attached patch. > > Thanks, it works: the packaging check that used to complain about > compilation error in installed libasm.h turns green when this patch > is applied. Great. I pushed it to master. Thanks, Mark ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] libebl: Don't install libebl.a, libebl.h and remove backends from spec. 2020-01-09 23:43 ` Mark Wielaard @ 2020-01-13 11:59 ` Mark Wielaard 0 siblings, 0 replies; 7+ messages in thread From: Mark Wielaard @ 2020-01-13 11:59 UTC (permalink / raw) To: Dmitry V. Levin; +Cc: elfutils-devel, Omar Sandoval On Fri, Jan 10, 2020 at 12:43:44AM +0100, Mark Wielaard wrote: > On Thu, 2020-01-09 at 02:25 +0300, Dmitry V. Levin wrote: > > On Wed, Jan 08, 2020 at 03:09:32PM +0100, Mark Wielaard wrote: > > > Short term I propose the attached patch. > > > > Thanks, it works: the packaging check that used to complain about > > compilation error in installed libasm.h turns green when this patch > > is applied. > > Great. I pushed it to master. Actually I forgot to push it. It is pushed now. ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2020-01-13 11:59 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2019-08-29 21:44 [PATCH] libebl: Don't install libebl.a, libebl.h and remove backends from spec Mark Wielaard 2019-09-10 13:45 ` Mark Wielaard 2020-01-02 0:02 ` Dmitry V. Levin 2020-01-08 14:09 ` Mark Wielaard 2020-01-08 23:25 ` Dmitry V. Levin 2020-01-09 23:43 ` Mark Wielaard 2020-01-13 11:59 ` Mark Wielaard
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).