Age | Commit message (Collapse) | Author | Files | Lines |
|
Given the 999 SQL statement variable limit, we can easily hit it when
updating a package with thousands of files or a few hundred depends.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
At least on Linux, we hit a huge bottleneck waiting for the FULL commit
to happen for each added package during reporead operations. It makes
much more sense to back this off to FULL level instead, which trades
some possible loss of durability for speedier operation. Additionally,
no one would possibly be running their production version of this site
on sqlite3, right?
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Add the slash only if we have a directory name, and not otherwise.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
We should assume the filelists are up to date in this case, not out of
date.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
This adds a Manager and log_update method to help log all updates made
to the packages table during reporead runs.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
A behind the scenes field that might be slightly useful.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Otherwise there are too many grouped under each value.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
When updating a lot of objects, it makes much more sense to perform
targeted update queries rather than one-row-at-a-time saves.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Otherwise the queryset returns nonsensical results. I find the design of
this less than obvious but so be it; we can ensure the results work
regardless of a default ordering on the model.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
This allows people to easily see if a developer has done anything
recently that we can easily grab a date for. Obviously this doesn't
include all sources of activity, so the list of things checked is
clearly stated at the top.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Rather than one query per cell in the arches and repos statistics
tables, we can group these together up front using Django annotations.
This means we only need one query per table.
In my local instance with all of the staging repos imported, this
reduces the total query count on this page from 56 to 26, a rather
marked improvement.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
We can push this down to the database if we know in advance we only need
the incomplete lists. This helps our call on the developer dashboard
quite a bit; the time of the single query in question drops from >1300ms
to around 40ms.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Add a quick and dirty migration to derive country info from the
developer-provided timezone, and display the flag next to the location
if we have it available on the clocks and developer profiles pages.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
We can then show little flag icons later on in relevant places based off
of this, such as on the developer profile, clocks page, etc.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Move this model into the devel/ application, and move the PGPKeyField
which is used only by these models into the application as well. This
involves updating some old migrations along the way to ensure we don't
reference a field class that no longer exists.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Now that all packages are getting more attention, we can shorten the
time period on the report to a shorter date range.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
This finds odd signatures in our repositories, which includes signature
times not matching with build dates, different signer and packager, etc.
We enhance our user lookup helper class to look up users by PGP key.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
We do this for every other related package attribute, so do it here too.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Depends, conflicts, provides, etc. can all be done via bulk_create.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Conflicts:
templates/releng/result_section.html
|
|
This is most of the transition to Django 1.4 `USE_TZ = True`. We need to
ensure we don't mix aware and non-aware datetime objects when dealing
with datetimes in the code. Add a utc_now() helper method that we can
use most places, and ensure there is always a timezone attached when
necessary.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Until Django 1.3, the functions include(), patterns() and url() plus
handler404, handler500 were located in a django.conf.urls.defaults
module.
In Django 1.4, they live in django.conf.urls.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
As per TODO comments in the existing code.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
This was a rather careless oversight on my part.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
This really just makes me look bad, but an interesting fact none the
less for people to look at.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
The bytes saved on the shorter name aren't worth it.
Also ensure 'desc' is always initialized to None in case packages do not
provide one.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
This adds a namedtuple so we aren't using magic numbers when processing
our 'edges' (signatures). We also ensure we update any existing
signature objects with their validity if they were later revoked.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Explicitly exclude '.html' files from the report. This fixes the issue
noted in FS#28372.
We also add `is_directory=False` to both the manpage and info page
queries; this could help the database come up with a better plan.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
This preserves the flag date if only a simple pkgrel bump occurred,
which makes sense more often than not for rebuilds.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Now that we have a few objects that can potentially link back to
developers, allow flag requests to also be rematched.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
We can use the easier transaction.commit_on_success() decorator if we be
sure to explicitly mark the transaction dirty. This fixes the issue
where a raised exception in this code called neither commit nor
rollback.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Remove never_cache from many places now that we don't actually need it
since we aren't caching by default. Adjust our cache_function decorator
times be shorter values, and also randomize them a bit to make cache
invalidations not all line up.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Rather than delegating to Django and batch deletion by ID, force issuing
of a single delete query to clear out all existing file objects when
necessary. This should speed up the deletion and update of packages with
a lot of files by a non-trivial amount.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
This vastly speeds up the reports if you just want to look at your own
packages and not the complete list, especially if the list of packages
you maintain is relatively short.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
The extra precision is not necessary and just makes entry of the data
harder anyway.
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
I needed this today to get the application working from scratch on
another host. Probably not all there yet, but we'll see how far it gets
us.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
This allow importing signatures from a provided gpg keyring, such as
that produced by the generate_keyring management command that already
exists. These will eventually be used for producing stats involving
developer signing keys and their certification by master keys.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
This will be used to track cross-developer and master key signatures to
build a visualization in the web interface of key signatures, as well as
be able to provide info on who is verified, who is not, etc.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|