Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

do not redirect stable -> bullseye nor bookworm -> testing #132

Open
pabs3 opened this issue Aug 20, 2021 · 5 comments
Open

do not redirect stable -> bullseye nor bookworm -> testing #132

pabs3 opened this issue Aug 20, 2021 · 5 comments

Comments

@pabs3
Copy link
Member

pabs3 commented Aug 20, 2021

I think it would be useful to be able to include the suite name in URLs instead of the codename, for URLs that are meant to always point at stable or testing etc, no matter which release is current.

At the same time it would also be useful to be able to point at bookworm and not have the browser URL change to testing, which when copy-pasted could in the future be a different URL than the one intended.

@stapelberg
Copy link
Contributor

Are you suggesting we keep around 2 copies of each manpage? I think having only 1 copy with a stable URL and redirecting to it is the cleaner approach.

Currently, stable releases (e.g. bullseye currently) get a stable URL, while testing, unstable and experimental are subject to change and hence reflected in the URL as such.

@pabs3
Copy link
Member Author

pabs3 commented Aug 22, 2021 via email

@stapelberg
Copy link
Contributor

Thanks for the details. To implement this suggestion, there are a couple of relevant points in addition to renaming/symlinking the directories:

  • debiman needs to be run with different flags: currently we specify -sync_codenames=stable,stable-backports and -sync_suites=testing,unstable,experimental in /srv/manpages.debian.org/debiman/run-debiman.bash. We’d need to move to -sync_codenames=stable,stable-backports,testing,unstable,experimental instead, and at the same time retain current behavior (or find a good solution for) regarding the “other versions” navigation panel in on rendered manpages.
  • debiman should specify a canonical URL so that search engines understand which version of the manpage is the desired canonical version. see also https://developers.google.com/search/docs/advanced/crawling/consolidate-duplicate-urls
  • most importantly, the redirect feature (https://github.com/Debian/debiman/#urls) is independent of symbolic links, and would need to be updated. On the debian static serving infrastructure, this feature is implemented using apache2 rewrite databases (Explore generating apache RewriteMaps #29) which contain all the variants. Currently, the full rewrite map consumes 826 MB (uncompressed). I’m worried about the resource usage of introducing new top-level variants (due to combinatiorial explosion).

@pabs3
Copy link
Member Author

pabs3 commented Aug 26, 2021

Thanks, that sounds much more complicated than I thought.

Do you know if it is possible to put a regular rewrite before the RewriteMap, but passing the final rewrite decision along? If so then the existing RewriteMap could stay in place, but we could hardcode the current suite mappings in the Apache config and update it after releases. Or maybe the RewriteMap could rewrite for the suites once and then rewrite again.

@stapelberg
Copy link
Contributor

Do you know if it is possible to put a regular rewrite before the RewriteMap, but passing the final rewrite decision along?

Unfortunately, I don’t know. The RewriteMap setup was pretty tricky to get right, so this would require some experimentation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants