Commit graph

25 commits

Author SHA1 Message Date
Yorhel
617a76eeba Add CentOS 6.10 and FreeBSD 11.2 2018-07-06 07:51:13 +02:00
Yorhel
7bb4397f9b Add CentOS 7.5 + Fix Fedora 28 updates repo 2018-06-02 07:34:54 +02:00
Yorhel
bb236c1f0e Add Ubuntu 18.04 + Fedora 28 2018-05-01 20:30:27 +02:00
Yorhel
035538f156 Add CentOS 2018-01-21 08:13:05 +01:00
Yorhel
b89c7625d5 Add FreeBSD 10.4 2018-01-15 21:39:45 +01:00
Yorhel
6120b2fa5a Add Fedora 27 2017-11-16 12:15:54 +01:00
Yorhel
2388aaefcc Stop syncing Fedora 24; Add FreeBSD 11.1 and Ubuntu 17.10 2017-10-20 21:37:33 +02:00
Yorhel
cb2d970d3a Add Fedora 26 + stop syncing old Ubuntu 2017-07-22 12:27:40 +02:00
Yorhel
8aa0fc02a5 Add Debian Stretch 2017-06-23 17:44:03 +02:00
Yorhel
72cb1ff184 Add Ubuntu 17.04 2017-04-14 17:09:18 +02:00
Yorhel
bb46087068 Add Fedora 1 - 25 2017-01-21 09:05:34 +01:00
Yorhel
eac4b6ac77 Dont index ELF binaries + remove some non-man-pages 2016-12-18 16:35:25 +01:00
Yorhel
cb81bedac1 Add arch/encoding metadata to DB + Fetch Arch Linux x86_64
The encoding metadata will be very useful in finding badly decoded man
pages. The package 'arch' is necessary to properly identify which
package was used, which is not obvious now that I'm going to switch more
systems to the (more common) x86_64 arch.
2016-11-06 16:05:16 +01:00
Yorhel
965aa9a2f6 Add Ubuntu 16.10 2016-10-19 07:30:49 +02:00
Yorhel
7535218a06 Add FreeBSD 11.0 2016-10-18 07:09:27 +02:00
Yorhel
8a0fac08b6 DB cleanup: Remove some non-manpages & fix wrongly-detected locales 2016-10-16 10:03:34 +02:00
Yorhel
7d31f41ba8 Add FreeBSD 10.3 2016-10-15 22:37:58 +02:00
Yorhel
3f40896679 Add FreeBSD 10.2 2016-10-14 08:09:53 +02:00
Yorhel
c04e6b3b6a Add FreeBSD 10.1 2016-10-12 17:02:37 +02:00
Yorhel
1106b0c08d Add FreeBSD 10.0 2016-10-10 17:19:08 +02:00
Yorhel
659b7afece Implement man selection algorithm in SQL + fix various related bugs
Man selection has to be performed over several thousand rows in some
cases. Loading all those in Perl and then doing the selection isn't very
efficient[1]. The getman() implementation was also buggy: The comparison
function used to determine which man page should be preferred was not
associative[2], and the result thus depended on the order in which the
man pages were compared. This resulted in some wrong selections in some
cases.

While I was at it, I also made the selection more strict:
- /man/unknown-hash would previously ignore the hash and just select
  whatever man page. Now it results in a 404.
- Same with /man.unknown-section
- /man.section/hash is now disallowed, it's either /man.section or
  /man/hash.

1) Note that all possible man pages are currently still loaded into Perl
anyway, because the ugly navigation menu on the right needs them. I plan
to revamp that entire menu to be more efficient and usable.

2) Initially I wrote the SQL implementation in a similar fashion to the
Perl implementation, and ended up with the same bug. I wasted more than
a day before I finally got to the current CTE query.
2016-10-09 09:10:40 +02:00
Yorhel
ed00c5fd46 Add FreeBSD 9.3 2016-10-08 00:18:08 +02:00
Yorhel
d2d48920f4 SQL: Add ON DELETE clause to foreign keys
This makes it easier to remove a complete package or system when
debugging.
2016-10-06 09:52:20 +02:00
Yorhel
7e17853326 Remove HTML-formatted man pages 2016-10-03 20:04:23 +02:00
Yorhel
03d278e4ff Normalize package info tables + change browsing URLs
This splits the 'package' table into 'packages' and 'package_versions',
which should improve performance in some cases and simplify some future
queries.

Previously it wasn't very well defined whether packages were uniquely
identified by (system, name) or by (system, category, name). This is now
normalized to the latter form. This required changes to the package URLs
to include the category.
2016-10-02 20:07:57 +02:00