Commit graph

48 commits

Author SHA1 Message Date
Yorhel
70e47e711b Add FreeBSD 14.4 2026-03-15 06:02:35 +01:00
Yorhel
e78486ab61 Add FreeBSD 15.0 2025-12-02 20:59:33 +01:00
Yorhel
d6b515d941 Add FreeBSD 14.3 2025-06-11 15:56:31 +02:00
Yorhel
adfeffd1d1 FreeBSD 13.5 2025-03-11 19:49:15 +01:00
Yorhel
1f8bd0ef9a *BSD repo updates 2025-01-09 13:24:00 +01:00
Yorhel
57de5699e8 Repo updates + some /about page wording 2024-10-30 09:58:09 +01:00
Yorhel
0c1b140638 FreeBSD 14.1 2024-06-07 07:19:12 +02:00
Yorhel
83ab6c3671 Get rid of package categories
Whether or not the package name itself or the (category,name) tuple
uniquely identified a package within a system has been a source of
confusion for a long time. Back in
03d278e4ff I ended up playing playing it
"safe" by going for (category,name), but in practice this doesn't make a
whole lot of sense. While it's *possible* for the same package name to
refer to completely different packages in different "categories", in
reality distributions can't sanely support this anyway.

For distributions where the category referred to a repository, the only
cases where the same package name was used in different repos was when
the package has moved from one repo to another. Those should certainly
not be treated as different packages.

For distributions where the category really referred to a category,
there's the Debian approach where the category is purely a tag and
doesn't help identify the package in any way, and then there's FreeBSD
where the category technically ought to be part of the name.  There were
a few cases where FreeBSD used categories to separate out different
versions of the same package (e.g. ipv6 vs non-ipv6), but none were
relevant for man pages so I ended up merging those as well.

Getting rid of the categories simplifies and shortens URLs, unclutters
the UI a little bit and merges the packages in listings that should've
been merged all along.

Migration script:

  -- Merge packages that are in multiple categories.
  -- All versions are moved to the package with the lowest ID.
  -- If the same version already exists in a lower ID, the higher-ID version is deleted.
  BEGIN;
  WITH migrate(old, new, second) AS (
    SELECT q.id, MIN(p.id), MAX(p.id)
      FROM packages p
      JOIN packages q ON q.id > p.id AND p.system = q.system AND p.name = q.name
     GROUP BY q.id
  ), ded(n) AS (
    UPDATE packages SET dead = false
      FROM migrate m
      JOIN packages q ON q.id = m.old
     WHERE packages.id = m.new AND packages.dead AND NOT q.dead
    RETURNING 1
  ), mov(n) AS (
    UPDATE package_versions SET package = m.new
      FROM migrate m
     WHERE package_versions.package = m.old
       AND NOT EXISTS(
          SELECT 1
            FROM package_versions v
           WHERE v.package IN(m.new, m.second)
             AND v.version = package_versions.version)
    RETURNING 1
  ), del(n) AS (
    DELETE FROM packages WHERE id IN(SELECT old FROM migrate)
    RETURNING 1
  ) SELECT (SELECT count(*) FROM migrate) AS migrate,
           (SELECT count(*) FROM ded) AS ded,
           (SELECT count(*) FROM mov) AS mov,
           (SELECT count(*) FROM del) AS del;

  ALTER TABLE packages DROP CONSTRAINT packages_system_name_category_key;
  CREATE UNIQUE INDEX packages_system_name_key ON packages (system, name);
  ALTER TABLE packages DROP COLUMN category;
  COMMIT;
2024-04-28 10:37:04 +02:00
Yorhel
a99b8aec89 Add FreeBSD 13.3 2024-04-14 12:22:11 +02:00
Yorhel
c2a1dd6416 Some fixes and repo updates 2023-11-26 10:33:30 +01:00
Yorhel
e77775246c Repo updates 2023-05-27 06:48:19 +02:00
Yorhel
81c9ec53ff Bunch of repo updates 2022-12-17 13:06:42 +01:00
Yorhel
47d86c06fd Add FreeBSD 12.3 & 13.1 2022-07-26 21:23:06 +02:00
Yorhel
12f88c0b6f Add FreeBSD 12.2 & 13.0 2021-04-17 19:52:04 +02:00
Yorhel
2ee9a5b6b0 Add FreeBSD 11.4 2020-10-14 15:38:08 +02:00
Yorhel
1260cdf766 Add FreeBSD 12.1 2020-03-15 14:13:19 +01:00
Yorhel
a6f0f9eb14 Add FreeBSD 11.3 2019-07-20 15:50:17 +02:00
Yorhel
224bdd1523 Add FreeBSD 12.0 2019-03-27 10:50:19 +01:00
Yorhel
617a76eeba Add CentOS 6.10 and FreeBSD 11.2 2018-07-06 07:51:13 +02:00
Yorhel
b89c7625d5 Add FreeBSD 10.4 2018-01-15 21:39:45 +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
8a3af4aee2 util/freebsd.sh: Fix copy-paste error in package dates 2016-12-30 18:10:46 +01:00
Yorhel
d153004532 indexer: Support FreeBSD 9.3+; remove now obsolete add_index.pl 2016-12-18 15:08:56 +01:00
Yorhel
defaa032f8 indexer: Support for indexing FreeBSD <9.3 repositories 2016-12-11 10:59:54 +01:00
Yorhel
46a6e2ff7c Use Rust indexer for Ubuntu + script cleanup 2016-11-20 15:01:22 +01:00
Yorhel
7535218a06 Add FreeBSD 11.0 2016-10-18 07:09:27 +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
ed00c5fd46 Add FreeBSD 9.3 2016-10-08 00:18:08 +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
Yorhel
2da67d585c Various changes/fixes, 3 new distro versions 2015-04-28 08:27:29 +02:00
Yorhel
000ffd33f6 Added and indexed FreeBSD 9.2 2013-10-19 20:18:00 +02:00
Yorhel
70fb2014b2 Added and indexed FreeBSD 9.1 2013-08-25 18:09:30 +02:00
Yorhel
9ba0d311e2 Added and indexed FreeBSD 8.4 2013-08-22 14:56:40 +02:00
Yorhel
8641867ff4 Fix indexing of core-manpages of FreeBSD 8.1 2012-08-15 09:26:36 +02:00
Yorhel
8c94298bf4 Added and indexed FreeBSD 8.x and 9.0 2012-08-14 20:25:38 +02:00
Yorhel
ad0739ed7f Added and indexed FreeBSD 7.x 2012-08-08 18:38:19 +02:00
Yorhel
7e9acec5e6 Added and indexed FreeBSD 6.x + minor fixes in 5.x 2012-08-04 13:48:28 +02:00
Yorhel
aa47337cd1 Added and indexed FreeBSD 5.x 2012-08-01 19:40:43 +02:00
Yorhel
75741305c2 Added and indexed the remaining FreeBSD 4.x releases 2012-07-30 14:58:55 +02:00
Yorhel
5e963de411 Added and indexed FreeBSD 3.5, 3.5.1 and 4.0
Things are slowing down a bit now that the later releases have a
packages/ directory.
2012-07-27 18:10:25 +02:00
Yorhel
40f916c4cf Added and indexed FreeBSD 3.0 - 3.4 2012-07-27 12:54:51 +02:00
Yorhel
201cac722b Added and indexed FreeBSD 2.2.8
...including its packages/ directory.
2012-07-26 18:14:30 +02:00
Yorhel
61566c93fb Added and indexed FreeBSD 2.2.2, 2.2.5, 2.2.6 and 2.2.7.
Their repositories were all rather similar, so hardly anything special
needed. (2.2.8, on the other hand, is the first with a categorized
packages/ dir)
2012-07-26 14:16:06 +02:00
Yorhel
0c641931e5 Added and indexed FreeBSD 2.0.5, 2.1.5 and 2.1.7 2012-07-26 13:39:30 +02:00
Yorhel
2f288c9eeb Added and indexed FreeBSD 1.0 2012-07-26 11:42:00 +02:00