Page MenuHomeFreeBSD

Add devel/breakpad port to the tree
ClosedPublic

Authored by luca.pizzamiglio_gmail.com on Jul 28 2017, 3:26 PM.

Details

Summary

Adding devel/breakpad, a set of client and server components which implements
a crash-reporting system. It's a project developed by google, used in several
of it's product and used also in some node.js packages.

PR\: 221320
Submitted by\: <luca.pizzamiglio@gmail.com> (maintainer)
Reviewed by\: lifanov (mentor), matthew (mentor), mmokhi, lme, cpm
Approved by\: lifanov (mentor), matthew (mentor), mmokhi, lme, cpm
Differential Revision\: https://reviews.freebsd.org/DXXXXX

Test Plan

portlint -A:
looks fine.

poudriere:
103i386
103amd64
110i386
110amd64
12i386
12amd64

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

This revision is now accepted and ready to land.Aug 3 2017, 6:41 PM

Have you created a PR for this?

No, but I can do it.
Should I re-create the patch or just link this review to the URL field of the PR?
Build logs are also needed?

devel/breakpad/Makefile
1 ↗(On Diff #31310)

It should be as follows

# Created by: Luca Pizzamiglio <luca.pizzamiglio@gmail.com>
# $FreeBSD$
devel/breakpad/files/patch-src_common_linux_memory__mapped__file.cc
4 ↗(On Diff #31310)

It fails to build on i386.

Try:

-#if defined(__x86_64__) || defined(__aarch64__) || \
+#if defined(__x86_64__) || defined(__FreeBSD__) || defined(__aarch64__) || \
    (defined(__mips__) && _MIPS_SIM == _ABI64)
devel/breakpad/Makefile
21 ↗(On Diff #31310)

Please, silence both called commands

@${MKDIR} ${WRKSRC}/src/third_party/lss
@${CP} ${FILESDIR}/linux_syscall_support.h ${WRKSRC}/src/third_party/lss
luca.pizzamiglio_gmail.com edited edge metadata.
  • Silencing post-patch actions
  • Fixing the build on i386
This revision now requires review to proceed.Aug 8 2017, 1:15 PM
luca.pizzamiglio_gmail.com added inline comments.
devel/breakpad/Makefile
1 ↗(On Diff #31310)

I thought that the "Created by" line was needed only if the creator is not the maintainer anymore.

devel/breakpad/Makefile
1 ↗(On Diff #31310)

The optional Created by: line names the person who originally created the port. Note that the “:” is followed by a space
and not a tab character. If this line is present, future maintainers must not change or remove it except at the original author's request.

This revision is now accepted and ready to land.Aug 8 2017, 1:35 PM

Looks good to me, there are other suggestions on patch-files, but we can do the improvements later too.

Macro lgtm:

devel/breakpad/files/patch-src_common_linux_elf__core__dump.h
7 ↗(On Diff #31757)

I'm not sure, but have you tried including elf_common.h (or other FreeBSD elf headers here instead of defining Macros)?
If you did this and it failed, it's okay as is :)

ultima added inline comments.
devel/breakpad/files/patch-src_common_linux_elf__core__dump.h
7 ↗(On Diff #31757)

Adding elf_common.h does build successfully. Please add it.

luca.pizzamiglio_gmail.com edited edge metadata.
luca.pizzamiglio_gmail.com marked an inline comment as done.

Even if I don't understand how it's possible, sys/elf_common.h fix
the definition of the missing macro. Adopting it.

This revision now requires review to proceed.Aug 14 2017, 9:09 PM

Even if I don't understand how it's possible, sys/elf_common.h fix
the definition of the missing macro. Adopting it.

Thought the same thing when testing it. Did not expect the build to be a success.

ultima edited the test plan for this revision. (Show Details)
ultima added reviewers: matthew, lifanov.
ultima added a reviewer: mat.
ultima edited the summary of this revision. (Show Details)
ultima added inline comments.
devel/breakpad/Makefile
5 ↗(On Diff #32062)

I can't find a "0.1" version on github, or any version. If tagnames are going to be used as the versioning, the port version should probably be by date. eg 20170814. Because this is using github, add a g to the DISTVERSIONPREFIX and PORTVERSION should probably be changed to DISTVERSION as well.

This revision is now accepted and ready to land.Aug 14 2017, 9:36 PM
ultima requested changes to this revision.Aug 14 2017, 9:37 PM

Didn't mean to accept.

This revision now requires changes to proceed.Aug 14 2017, 9:37 PM
luca.pizzamiglio_gmail.com edited edge metadata.

Adopted the corrected versioning pocedure for github projects without tags

devel/breakpad/Makefile
5 ↗(On Diff #32063)

Sorry if I was a little confusing, the date should be the date of the last commit, I was just giving an example.

DISTVERSIONPREFIX= g
DISTVERSION= 20170711

Fixing the date/version, as suggested

While I'm here, updating to the last available commit

Looks good to me, one thing that should be reported upstream, running microdump_stackwalk with an invalid option returns a core dump.

This revision is now accepted and ready to land.Aug 15 2017, 2:15 PM
ultima requested changes to this revision.Aug 15 2017, 2:19 PM
ultima added inline comments.
devel/breakpad/files/patch-src_common_linux_elfutils.cc
7–11 ↗(On Diff #32083)

This bit should probably be changed to include <sys/elf_common.h> as well.

This revision now requires changes to proceed.Aug 15 2017, 2:19 PM
luca.pizzamiglio_gmail.com edited edge metadata.

Removing the unuseful patch file files/patch-src_common_linux_elfcoredump.h

The elf_core_dump.cc is not compiler, that's explain why including
sys/elf_common.h didn't break the build.

The macro on patch-src_common_linux_elfutils.cc is still needed.

Removing the unuseful patch file files/patch-src_common_linux_elfcoredump.h

The elf_core_dump.cc is not compiler, that's explain why including
sys/elf_common.h didn't break the build.

The macro on patch-src_common_linux_elfutils.cc is still needed.

Ah! that explains it! Was quite puzzling.

This revision is now accepted and ready to land.Aug 15 2017, 3:43 PM

Thanks for elf_common.h thing :)
Seems faaar better now.

Waiting for mat (mentor) to act on this.

devel/breakpad/Makefile
5 ↗(On Diff #32063)

Hate to comment on this again as I just had you change it. The PHB has just been updated on this scenario and according to HB, the g should be with DISTVERSION instead of under DISTVERSIONPREFIX. Sorry for the confusion.

https://www.freebsd.org/doc/en/books/porters-handbook/makefile-distfiles.html example 5.13.

luca.pizzamiglio_gmail.com edited edge metadata.

Following the PHB rules about DISTVERSION on github projects without tag

This revision now requires review to proceed.Aug 16 2017, 8:54 AM

Looks great, approved!

This revision is now accepted and ready to land.Aug 24 2017, 1:18 PM
This revision was automatically updated to reflect the committed changes.