[build2] Official build2 Fedora packages

Matthew Krupcale mkrupcale at matthewkrupcale.com
Fri Jun 14 15:02:04 UTC 2019

On Fri, Jun 14, 2019 at 9:25 AM Boris Kolpackov <boris at codesynthesis.com> wrote:
> Yes, I've been thinking about it on and off, sorry for taking so
> long. I will reply to that thread in the next couple of days.

Okay, sounds good.

> Can you elaborate on this? I don't think we can convert PS/PDF files
> with iconv.

Sure. This is only applied on the PS files, which are a page
description language, analogous to a markup language. I presume the
ps2pdf software is able to read whatever PS input encoding and produce
the output correctly, so no need to convert the PDF. You can see their
MIME types and character encodings using file(1):

$ file -bi *.{ps,pdf}
application/postscript; charset=iso-8859-1
application/pdf; charset=binary

You can see how I do it in my spec file[1].

> In the two cases you refer, exit() is called inside the child process
> that failed to exec(). Since the program may be multi-threaded, this
> is probably the safest thing to do.

Okay, the reason I was bringing this up was actually because
rpmlint(1) was warning about it:

libbutl.x86_64: W: shared-lib-calls-exit /usr/lib64/libbutl-0.11.so
exit at GLIBC_2.2.5

However, on closer inspection I think this is actually a
false-positive because rpmlint is not aware of posix_spawn(3) yet[2]
(which in the case of libbutl calls fork(2) since it does not request
vfork(2) and has non-NULL file_actions), and since Fedora 30 ships
with glibc 2.29, LIBBUTL_POSIX_SPAWN_CHDIR is defined, so the
fork-based process implementation is not defined now (hence why this
warning did not show up on Fedora 29 as well).

> This was one of the reasons (plus build2 is not in the official Debian
> repositories yet).
> Probably more importantly we haven't yet converted ODB tests to build2.
> Doing that will require ODB compilation support in build2 (similar to
> CLI) and we want to do this as an external build system module (unlike
> CLI), which are not yet supported. It is, however, #1 item on my TODO
> list and I plan to make some progress on it for the next release. So,
> hopefully soon but unfortunately not yet.

Okay, sounds good, just figured I'd check on the status of that.


[1] https://src.fedoraproject.org/rpms/build2/blob/master/f/build2.spec#_226
[2] https://github.com/rpm-software-management/rpmlint/blob/2531821f42dd22b614c8bedc353cafe94b87101a/rpmlint/checks/BinariesCheck.py#L204

More information about the users mailing list