Package Details: sentry 9.1.2-1

Git Clone URL: https://aur.archlinux.org/sentry.git (read-only, click to copy)
Package Base: sentry
Description: Python-based realtime logging and aggregation server.
Upstream URL: http://pypi.python.org/pypi/sentry
Licenses: BSD
Submitter: zancarius
Maintainer: zancarius
Last Packager: zancarius
Votes: 14
Popularity: 0.000099
First Submitted: 2012-11-04 17:15
Last Updated: 2019-08-31 02:03

Pinned Comments

zancarius commented on 2020-01-23 21:38

I have spent some time exploring options for upgrading this PKGBUILD to the latest version of Sentry and have encountered blocking changes that do not appear to have a clear resolution.

Currently, there were two PKGBUILDs that provide our required Clickhouse dependency but neither of these build successfully. Near as I can tell, some of Clickhouse's upstream dependencies have known issues that as yet have no resolution outside attempting to patch either Clickhouse or wait for the upstream developers to address these deficiencies. This is not something either myself or the maintainer(s) of the Clickhouse PKGBUILD(s) can address (not easily, anyway).

Consequently, I will be updating this PKGBUILD, bumping the pkgrel in effort to increase the visibility of this issue. We will be holding Sentry at its current state until we have a clear path forward.

If you need Sentry 10.x.x in your environment, consider installing their official Docker packages. This is the currently recommended method for installing Sentry.

zancarius commented on 2020-01-17 06:45

Sentry v10.0.0 is out, but I will not be upgrading this package for some time. In fact, I'm not sure when an upgrade will be available because the number of additional service dependencies has since exploded.

To illustrate, Sentry v10.x now depends on:

  • Zookeeper
  • Kafka
  • Clickhouse
  • Snuba

I don't believe Snuba can be disabled in Sentry post-v9.1.2. If this is true, then this means that Sentry now has an implicit dependency on the JRE which may be prohibitive for those users who are running Sentry on lower end hardware or memory-constrained environments.

The official installation guide recommends installing the on-premise edition of Sentry via Docker and advises against source installation, which is what we're doing here.

This leaves us with a couple of options (plus a third thrown in as an either/or):

1) Upgrade anyway and add a host of other dependencies to the PKGBUILD that may surprise some users. Given that Sentry is a complex piece of software to install, this will only add to the complexity and will require additional packages, configuration, etc., that will need to be completed before Sentry can even be upgraded. (The migration process moves events from the database into Snuba, for example.)

2) Cheat and take the easy way out; deprecate this PKGBUILD and point users to the official Docker images. There's no point trying to wrap the Docker images in a PKGBUILD.

3) Rename this package to something like sentry9.1, freezing it at this version, and then pick options #1 or #2.

When I have some time this weekend, I may ask around for advice. There's no easy solution in this case, and I know from past experience with this package that there are some users who may be uninterested in running Sentry v10 if it requires configuring at least 3 other services. I will leave this package flagged for the time being in the hopes users of this package check here.

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 8 9 10 ... Next › Last »

mitchhentges commented on 2016-06-06 17:33

Hmm, I'm having an issue with `system.secret-key` allegedly not being set. It's fixed by moving my config to `/opt/sentry/.sentry/` but that's not a great solution. I'm not sure why it's failing when the config is at `/etc/sentry/` though. Maybe that's just for me?

zancarius commented on 2016-06-06 17:11

Sorry about that. Unexpected dependency creep. :(

mitchhentges commented on 2016-06-06 17:10

After installing `libjpeg-turbo`, it appears to be working. Thanks!

zancarius commented on 2016-06-06 17:00

@mitchhentges:

After some poking around, I was able to replicate your problem by removing libjpeg from a container and clearing my pip wheels cache.

Could you try installing libjpeg-turbo and try again? Looks like this needs to go into the dependency list.

I don't recall seeing Pillow in previous versions of Sentry, so I'm wondering if this is a new addition.

Edit: I tested this a few times. Looks like adding libjpeg-turbo to makedepends (and it's probably a run time dependency for Pillow, too, so it's in Sentry's depends list) fixes things, so I pushed a new pkgrel.

mitchhentges commented on 2016-06-06 09:34

I'm getting an error when building:

Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-build-cuM9f7/Pillow/setup.py", line 767, in <module>
zip_safe=not debug_build(), )
File "/usr/lib64/python2.7/distutils/core.py", line 151, in setup
dist.run_commands()
File "/usr/lib64/python2.7/distutils/dist.py", line 953, in run_commands
self.run_command(cmd)
File "/usr/lib64/python2.7/distutils/dist.py", line 972, in run_command
cmd_obj.run()
File "/tmp/yaourt-tmp-mitch/aur-sentry/pkg/sentry/opt/sentry/lib/python2.7/site-packages/setuptools/command/install.py", line 61, in run
return orig.install.run(self)
File "/usr/lib64/python2.7/distutils/command/install.py", line 563, in run
self.run_command('build')
File "/usr/lib64/python2.7/distutils/cmd.py", line 326, in run_command
self.distribution.run_command(command)
File "/usr/lib64/python2.7/distutils/dist.py", line 972, in run_command
cmd_obj.run()
File "/usr/lib64/python2.7/distutils/command/build.py", line 127, in run
self.run_command(cmd_name)
File "/usr/lib64/python2.7/distutils/cmd.py", line 326, in run_command
self.distribution.run_command(command)
File "/usr/lib64/python2.7/distutils/dist.py", line 972, in run_command
cmd_obj.run()
File "/usr/lib64/python2.7/distutils/command/build_ext.py", line 339, in run
self.build_extensions()
File "/tmp/pip-build-cuM9f7/Pillow/setup.py", line 512, in build_extensions
' using --disable-%s, aborting' % (f, f))
ValueError: jpeg is required unless explicitly disabled using --disable-jpeg, aborting

zancarius commented on 2016-06-06 06:16

As of this version, I've introduced a few new unit files. This means the upgrade process may require particular attention to detail. I'd recommend stopping Sentry prior to this upgrade and then following the instructions as normal:

sudo systemctl stop sentry sentry-celery

Once you've upgraded Sentry, be sure to issue:

sudo systemctl daemon-reload

to load the new unit files. Control over Sentry has now coalesced into a single unit file:

sudo systemctl start sentry

If you have upgraded Sentry and issued a "systemctl daemon-reload" without first heeding these instructions, you may have to stop Sentry manually by sending a SIGINT to the uWSGI master process.

I'm hopeful this will be the last major change in Sentry's unit files for the foreseeable future. Future upgrades will require restarting only sentry.service, and I'll make note of that when the time comes.

As always with changes of this sort, there's a potential for breakage. Please report your problems here or on the GitHub repo containing this PKGBUILD [1].

[1] https://github.com/zancarius/archlinux-pkgbuilds

zancarius commented on 2016-06-06 04:41

I'll be posting a new PKGBUILD later tonight or tomorrow evening. It seems that as of 8.5.0, `sentry celery` has been replaced with `sentry run worker` and `sentry run cron`, continuing the deprecation of named tasks and their replacement with `run`.

I don't want to force ever growing numbers of unit files on everyone, so we're going to be replacing this with a sentry.target or similar and rolling it up into a new sentry.service file that will launch all dependencies.

If you happen to miss the note here, I'll be including it in the upgrade instructions.

Thanks again, everyone.

zancarius commented on 2016-05-25 21:51

@Ahti333: If you could, here's a PKGBUILD containing the split package [1]. I'm not entirely sure if the dependencies are correct or if this will work with dsym support enabled. It should, but I have no means of testing it at this point in time.

You'll need the supporting files as well (sentry.install, sentry.service, sentry-celery.service).

I hope this is more in line with what you had in mind, though it does involve some rather ugly copying of libraries for the sentry-dsym package.

Also, I haven't test-built this from a clean container. If I'm missing a dependency, please share.

[1] https://github.com/zancarius/archlinux-pkgbuilds/blob/0fbdb300ae5325a558766ef88f482a19c7e6011a/sentry/PKGBUILD

zancarius commented on 2016-05-24 22:59

I've posted an issue on my GitHub repo for this PKGBUILD [1]. I won't push a new version of this package until I get a little extra input from some of Sentry's known users who have contributed in the past to improving this PKGBUILD, until a new version is released, or until a week's time has expired with no further input.

My reason for delaying this is to avoid interfering too badly with other users in the event they have automated building/deployment of Sentry, and this is a bit of a big-ish change to the PKGBUILD that may violate the principle of least surprise.

[1] https://github.com/zancarius/archlinux-pkgbuilds/issues/7

zancarius commented on 2016-05-24 20:34

Okay, LLVM will have to be a dependency during build. makedepends can't be overridden in a split package.