From 0e2357f98372f799d458b1ba62be1990c44853f7 Mon Sep 17 00:00:00 2001 From: Eloston Date: Wed, 21 Dec 2016 03:55:36 -0800 Subject: [PATCH] Website rewrite with automatic page generators --- README.md | 6 +- config/README.md | 3 + config/page_templates/index_directory.md.in | 6 + config/page_templates/index_frontpage.md.in | 10 + config/page_templates/version.md.in | 6 + config/platforms/debian/display_name | 1 + .../debian/stretch_amd64/55.0.2883.75-1.ini | 35 ++ .../debian/stretch_amd64/55.0.2883.87-1.ini | 35 ++ .../debian/stretch_amd64/display_name | 1 + config/platforms/display_name | 1 + .../linux_static/64bit/55.0.2883.75-1.ini | 8 + .../platforms/linux_static/64bit/display_name | 1 + config/platforms/linux_static/display_name | 1 + config/platforms/macos/55.0.2883.75-1.ini | 5 + config/platforms/macos/55.0.2883.95-1.ini | 5 + config/platforms/macos/display_name | 1 + config/platforms/ubuntu/display_name | 1 + .../ubuntu/xenial_amd64/55.0.2883.87-1.ini | 2 + .../ubuntu/xenial_amd64/display_name | 1 + .../ubuntu/yakkety_amd64/55.0.2883.87-1.ini | 2 + .../ubuntu/yakkety_amd64/55.0.2883.95-1.ini | 23 ++ .../ubuntu/yakkety_amd64/display_name | 1 + .../windows/32bit/53.0.2785.116-1.ini | 5 + .../windows/32bit/55.0.2883.87-1.ini | 5 + config/platforms/windows/32bit/display_name | 1 + .../windows/64bit/55.0.2883.87-1.ini | 5 + config/platforms/windows/64bit/display_name | 1 + config/platforms/windows/display_name | 1 + config/valid_versions | 11 + index.md | 26 +- releases/53.0.2785.116-1/index.md | 3 - releases/55.0.2883.75-1/index.md | 5 - releases/55.0.2883.75-1/linux_static_64bit.md | 9 - releases/55.0.2883.87-1/index.md | 7 - .../55.0.2883.87-1/ubuntu_xenial_amd64.md | 5 - .../55.0.2883.87-1/ubuntu_yakkety_amd64.md | 5 - releases/55.0.2883.95-1/index.md | 4 - releases/debian/index.md | 9 + .../stretch_amd64/55.0.2883.75-1.md} | 42 +-- .../stretch_amd64/55.0.2883.87-1.md} | 42 +-- releases/debian/stretch_amd64/index.md | 10 + releases/index.md | 17 +- releases/linux_static/64bit/55.0.2883.75-1.md | 10 + releases/linux_static/64bit/index.md | 9 + releases/linux_static/index.md | 9 + .../macos.md => macos/55.0.2883.75-1.md} | 8 +- .../macos.md => macos/55.0.2883.95-1.md} | 8 +- releases/macos/index.md | 10 + releases/ubuntu/index.md | 10 + .../ubuntu/xenial_amd64/55.0.2883.87-1.md | 7 + releases/ubuntu/xenial_amd64/index.md | 9 + .../ubuntu/yakkety_amd64/55.0.2883.87-1.md | 7 + .../yakkety_amd64/55.0.2883.95-1.md} | 26 +- releases/ubuntu/yakkety_amd64/index.md | 10 + .../32bit/53.0.2785.116-1.md} | 8 +- .../32bit/55.0.2883.87-1.md} | 10 +- releases/windows/32bit/index.md | 10 + .../64bit/55.0.2883.87-1.md} | 10 +- releases/windows/64bit/index.md | 9 + releases/windows/index.md | 10 + utilities/platform_ini_generator.py | 105 ++++++ utilities/site_generator.py | 308 ++++++++++++++++++ 62 files changed, 833 insertions(+), 128 deletions(-) create mode 100644 config/README.md create mode 100644 config/page_templates/index_directory.md.in create mode 100644 config/page_templates/index_frontpage.md.in create mode 100644 config/page_templates/version.md.in create mode 100644 config/platforms/debian/display_name create mode 100644 config/platforms/debian/stretch_amd64/55.0.2883.75-1.ini create mode 100644 config/platforms/debian/stretch_amd64/55.0.2883.87-1.ini create mode 100644 config/platforms/debian/stretch_amd64/display_name create mode 100644 config/platforms/display_name create mode 100644 config/platforms/linux_static/64bit/55.0.2883.75-1.ini create mode 100644 config/platforms/linux_static/64bit/display_name create mode 100644 config/platforms/linux_static/display_name create mode 100644 config/platforms/macos/55.0.2883.75-1.ini create mode 100644 config/platforms/macos/55.0.2883.95-1.ini create mode 100644 config/platforms/macos/display_name create mode 100644 config/platforms/ubuntu/display_name create mode 100644 config/platforms/ubuntu/xenial_amd64/55.0.2883.87-1.ini create mode 100644 config/platforms/ubuntu/xenial_amd64/display_name create mode 100644 config/platforms/ubuntu/yakkety_amd64/55.0.2883.87-1.ini create mode 100644 config/platforms/ubuntu/yakkety_amd64/55.0.2883.95-1.ini create mode 100644 config/platforms/ubuntu/yakkety_amd64/display_name create mode 100644 config/platforms/windows/32bit/53.0.2785.116-1.ini create mode 100644 config/platforms/windows/32bit/55.0.2883.87-1.ini create mode 100644 config/platforms/windows/32bit/display_name create mode 100644 config/platforms/windows/64bit/55.0.2883.87-1.ini create mode 100644 config/platforms/windows/64bit/display_name create mode 100644 config/platforms/windows/display_name create mode 100644 config/valid_versions delete mode 100644 releases/53.0.2785.116-1/index.md delete mode 100644 releases/55.0.2883.75-1/index.md delete mode 100644 releases/55.0.2883.75-1/linux_static_64bit.md delete mode 100644 releases/55.0.2883.87-1/index.md delete mode 100644 releases/55.0.2883.87-1/ubuntu_xenial_amd64.md delete mode 100644 releases/55.0.2883.87-1/ubuntu_yakkety_amd64.md delete mode 100644 releases/55.0.2883.95-1/index.md create mode 100644 releases/debian/index.md rename releases/{55.0.2883.75-1/debian_stretch_amd64.md => debian/stretch_amd64/55.0.2883.75-1.md} (88%) rename releases/{55.0.2883.87-1/debian_stretch_amd64.md => debian/stretch_amd64/55.0.2883.87-1.md} (88%) create mode 100644 releases/debian/stretch_amd64/index.md create mode 100644 releases/linux_static/64bit/55.0.2883.75-1.md create mode 100644 releases/linux_static/64bit/index.md create mode 100644 releases/linux_static/index.md rename releases/{55.0.2883.75-1/macos.md => macos/55.0.2883.75-1.md} (68%) rename releases/{55.0.2883.95-1/macos.md => macos/55.0.2883.95-1.md} (68%) create mode 100644 releases/macos/index.md create mode 100644 releases/ubuntu/index.md create mode 100644 releases/ubuntu/xenial_amd64/55.0.2883.87-1.md create mode 100644 releases/ubuntu/xenial_amd64/index.md create mode 100644 releases/ubuntu/yakkety_amd64/55.0.2883.87-1.md rename releases/{55.0.2883.95-1/ubuntu_yakkety_amd64.md => ubuntu/yakkety_amd64/55.0.2883.95-1.md} (84%) create mode 100644 releases/ubuntu/yakkety_amd64/index.md rename releases/{53.0.2785.116-1/windows_32bit.md => windows/32bit/53.0.2785.116-1.md} (60%) rename releases/{55.0.2883.87-1/windows_32bit.md => windows/32bit/55.0.2883.87-1.md} (61%) create mode 100644 releases/windows/32bit/index.md rename releases/{55.0.2883.87-1/windows_64bit.md => windows/64bit/55.0.2883.87-1.md} (61%) create mode 100644 releases/windows/64bit/index.md create mode 100644 releases/windows/index.md create mode 100755 utilities/platform_ini_generator.py create mode 100755 utilities/site_generator.py diff --git a/README.md b/README.md index 7bb8ce425..463d7a7b7 100644 --- a/README.md +++ b/README.md @@ -10,4 +10,8 @@ For problems, suggestions, and questions, please use the Issue tracker. When creating new pages or adding new versions, use an existing version as a template to follow. If you have questions or suggestions, please create an Issue. -Use `utilities/github_release_helper.py` to generate Markdown with the correct URLs to binaries. Pass in `--help` for usage information. +### Updating the website + +Use `utilities/platform_ini_generator.py` to generate INI file content with the correct URLs to binaries. Redirect the standard output to an `.ini` file in the `config/platforms` directory with the corresponding tag version. Pass in `--help` for usage information. + +When finished with updating the website, run `utilities/site_generator.py`. There are no arguments diff --git a/config/README.md b/config/README.md new file mode 100644 index 000000000..4b8ba144f --- /dev/null +++ b/config/README.md @@ -0,0 +1,3 @@ +# Website configuration + +This directory contains downloads page configuration for use with the scripts in `utilities/` diff --git a/config/page_templates/index_directory.md.in b/config/page_templates/index_directory.md.in new file mode 100644 index 000000000..98b5448fb --- /dev/null +++ b/config/page_templates/index_directory.md.in @@ -0,0 +1,6 @@ +# Directory Listing + +Navigation: [Front page](/) / $ungoog{current_path} + +$ungoog{versions_list} +$ungoog{directory_list} diff --git a/config/page_templates/index_frontpage.md.in b/config/page_templates/index_frontpage.md.in new file mode 100644 index 000000000..f04a147ca --- /dev/null +++ b/config/page_templates/index_frontpage.md.in @@ -0,0 +1,10 @@ +# Downloads for ungoogled-chromium + +[ungoogled-chromium's GitHub page](//github.com/Eloston/ungoogled-chromium) + +## Latest production versions + +**NOTE FOR LINUX USERS: Make sure to download packages for the correct system** + +$ungoog{latest_downloads} +### [By version](releases) diff --git a/config/page_templates/version.md.in b/config/page_templates/version.md.in new file mode 100644 index 000000000..375ca0c50 --- /dev/null +++ b/config/page_templates/version.md.in @@ -0,0 +1,6 @@ +# $ungoog(version) Binaries for $ungoog{display_name} + +Navigation: [Front page](/) / $ungoog{current_path} + +$ungoog{note} +$ungoog{download_list} diff --git a/config/platforms/debian/display_name b/config/platforms/debian/display_name new file mode 100644 index 000000000..1e96cd4ab --- /dev/null +++ b/config/platforms/debian/display_name @@ -0,0 +1 @@ +Debian diff --git a/config/platforms/debian/stretch_amd64/55.0.2883.75-1.ini b/config/platforms/debian/stretch_amd64/55.0.2883.75-1.ini new file mode 100644 index 000000000..f5a88d087 --- /dev/null +++ b/config/platforms/debian/stretch_amd64/55.0.2883.75-1.ini @@ -0,0 +1,35 @@ +[chromedriver_55.0.2883.75-1_amd64.deb] +url = https://github.com/Eloston/ungoogled-chromium/releases/download/55.0.2883.75-1/chromedriver_55.0.2883.75-1_amd64.deb +md5 = 93570ccd1d4e5c1b2c49728944fdffc0 +sha1 = 970f239ff9d9c67f256b53d062e6e0f598bac063 +sha256 = e26a80f38ac05d40f6b109c046901e49422945997a815e5e1fc16ee42c6a2ede + +[chrome-sandbox_55.0.2883.75-1_amd64.deb] +url = https://github.com/Eloston/ungoogled-chromium/releases/download/55.0.2883.75-1/chrome-sandbox_55.0.2883.75-1_amd64.deb +md5 = 6de9de2bc3811c56aa07607ef86ab9de +sha1 = c21423399e367f1109f9b3dcc29ba3b5727bf0d7 +sha256 = 2338bc7e561605379ed0db962394dcd944b486b49e00fae0b72e4f18dbc461c2 + +[chromium_55.0.2883.75-1_amd64.deb] +url = https://github.com/Eloston/ungoogled-chromium/releases/download/55.0.2883.75-1/chromium_55.0.2883.75-1_amd64.deb +md5 = 106c630e0561e702cb1c74c5433baa2f +sha1 = 5d232f090cfadc6861993be60139d301d3740f32 +sha256 = f0066e32803cae628432074150b9562ebbfde7945cbc5c1159d1ff4d44ec5ee6 + +[chromium-l10n_55.0.2883.75-1_all.deb] +url = https://github.com/Eloston/ungoogled-chromium/releases/download/55.0.2883.75-1/chromium-l10n_55.0.2883.75-1_all.deb +md5 = d1ba3735b6ecb5c067d845f74c90c7b0 +sha1 = d957e92acaac67047b09653db63d536416a47537 +sha256 = 6d776686a1d5e94ab5f8a7abad1ae01490abade26058523982d1e84397b14261 + +[chromium-browser_55.0.2883.75-1_amd64.changes] +url = https://github.com/Eloston/ungoogled-chromium/releases/download/55.0.2883.75-1/chromium-browser_55.0.2883.75-1_amd64.changes +md5 = 03b12914927f1447aa3f3fc86a825478 +sha1 = 46c8a364c25fee47a0c4df618868d6e813a4b13f +sha256 = 1657199428a94c87c5d163ae9520d934b69f1c7e10c209a962d45126c3ad5e0b + +[chromium-browser_55.0.2883.75-1_amd64.buildinfo] +url = https://github.com/Eloston/ungoogled-chromium/releases/download/55.0.2883.75-1/chromium-browser_55.0.2883.75-1_amd64.buildinfo +md5 = 7aaad3f6ea6952f59b7d2d6a186c8cbe +sha1 = f3494dd41d397adc83c15f42ffa6230cef90697e +sha256 = 50dffad3a525ec29e1e31213524a2f5702d62d41edd9e24b7ebcc5e13557bc55 diff --git a/config/platforms/debian/stretch_amd64/55.0.2883.87-1.ini b/config/platforms/debian/stretch_amd64/55.0.2883.87-1.ini new file mode 100644 index 000000000..36913c9cb --- /dev/null +++ b/config/platforms/debian/stretch_amd64/55.0.2883.87-1.ini @@ -0,0 +1,35 @@ +[chromedriver_55.0.2883.87-1_amd64.deb] +url = https://github.com/Eloston/ungoogled-chromium/releases/download/55.0.2883.87-1/chromedriver_55.0.2883.87-1_amd64.deb +md5 = c2483541272b8d8292db36d26a347878 +sha1 = aa12891398c260a2faa30bbb0c95101d1c6c8de4 +sha256 = 1bb160480fdba3e42c63a5b36c349b44e661ea6d0298fce0b90b5c3de32f5916 + +[chrome-sandbox_55.0.2883.87-1_amd64.deb] +url = https://github.com/Eloston/ungoogled-chromium/releases/download/55.0.2883.87-1/chrome-sandbox_55.0.2883.87-1_amd64.deb +md5 = 2b8c9d167e3f8a91a0ed15d0db3f5abb +sha1 = a96f33073d45dae57c147d68f84b1e6f76703e2c +sha256 = 1514717ba3676fb26cabf1dfd67bd895058f15ee337871823becea31c1ce8889 + +[chromium_55.0.2883.87-1_amd64.deb] +url = https://github.com/Eloston/ungoogled-chromium/releases/download/55.0.2883.87-1/chromium_55.0.2883.87-1_amd64.deb +md5 = b18cc935258545c01bef73a638d41ac1 +sha1 = 30763a4ffbba85afe13341c662d2e24694252917 +sha256 = 5c5b3e705d99b1bd8ddd00ed178f9301dbfdd56ec5def8fa6b717603904ea723 + +[chromium-l10n_55.0.2883.87-1_all.deb] +url = https://github.com/Eloston/ungoogled-chromium/releases/download/55.0.2883.87-1/chromium-l10n_55.0.2883.87-1_all.deb +md5 = c485437fbd532910ca1afb89415191b7 +sha1 = 98e05b331bbefdb871276b13111f21866ba92089 +sha256 = f45ae22b2abae37ad6150f4a5e88a9715dbca52c2f9645768a0e9fa0b4501a77 + +[chromium-browser_55.0.2883.87-1_amd64.buildinfo] +url = https://github.com/Eloston/ungoogled-chromium/releases/download/55.0.2883.87-1/chromium-browser_55.0.2883.87-1_amd64.buildinfo +md5 = fdef5d5fc5f7296eefb1eff5609a9a29 +sha1 = 63ee43b825cab0afdc205d51cf3830e0204ec7be +sha256 = eb2a38d2777f049a33586ff90230210d7c05839905248c623647c1c9f103653f + +[chromium-browser_55.0.2883.87-1_amd64.changes] +url = https://github.com/Eloston/ungoogled-chromium/releases/download/55.0.2883.87-1/chromium-browser_55.0.2883.87-1_amd64.changes +md5 = 0597c20cfe795fbf7001d19708c34c13 +sha1 = 151b81990d073650923a35ee9e92c1e43e941351 +sha256 = db677b498dde2cacd3da4bb4873752d2e2334e6ec97eeac4ed99f0d3c935d779 diff --git a/config/platforms/debian/stretch_amd64/display_name b/config/platforms/debian/stretch_amd64/display_name new file mode 100644 index 000000000..104bc75d4 --- /dev/null +++ b/config/platforms/debian/stretch_amd64/display_name @@ -0,0 +1 @@ +9.0 (stretch) amd64 diff --git a/config/platforms/display_name b/config/platforms/display_name new file mode 100644 index 000000000..0cd351564 --- /dev/null +++ b/config/platforms/display_name @@ -0,0 +1 @@ +Releases diff --git a/config/platforms/linux_static/64bit/55.0.2883.75-1.ini b/config/platforms/linux_static/64bit/55.0.2883.75-1.ini new file mode 100644 index 000000000..ebd8f676b --- /dev/null +++ b/config/platforms/linux_static/64bit/55.0.2883.75-1.ini @@ -0,0 +1,8 @@ +[config] +note = built against [this commit](https://github.com/Eloston/ungoogled-chromium/commit/38183f5e6bc9d2111fac142bea9b7ad448f086a0) + +[ungoogled-chromium_55.0.2883-75-1_linux_x64_9Morello.tar.xz] +url = https://github.com/Eloston/ungoogled-chromium/releases/download/55.0.2883.75-1/ungoogled-chromium_55.0.2883-75-1_linux_x64_9Morello.tar.xz +md5 = 4cbeb5459274649b25c5ab9a20bb7d3f +sha1 = 7d013ec44b22c561dc21f028de57c90b7eb8b66b +sha256 = 93448949d64b7c08ee4fa2026ca82e68ab47a32d1f2442bb116e53427859ebe2 diff --git a/config/platforms/linux_static/64bit/display_name b/config/platforms/linux_static/64bit/display_name new file mode 100644 index 000000000..a55bd927f --- /dev/null +++ b/config/platforms/linux_static/64bit/display_name @@ -0,0 +1 @@ +64-bit diff --git a/config/platforms/linux_static/display_name b/config/platforms/linux_static/display_name new file mode 100644 index 000000000..1813d6280 --- /dev/null +++ b/config/platforms/linux_static/display_name @@ -0,0 +1 @@ +Semi-statically-linked Linux build diff --git a/config/platforms/macos/55.0.2883.75-1.ini b/config/platforms/macos/55.0.2883.75-1.ini new file mode 100644 index 000000000..db971e8f3 --- /dev/null +++ b/config/platforms/macos/55.0.2883.75-1.ini @@ -0,0 +1,5 @@ +[ungoogled-chromium_55.0.2883-75-1_macos_9Morello.dmg] +url = https://github.com/Eloston/ungoogled-chromium/releases/download/55.0.2883.75-1/ungoogled-chromium_55.0.2883-75-1_macos_9Morello.dmg +md5 = 6c2bd5a644bf9964c244d1d12f1276d7 +sha1 = 1d334feed258866d946dc463b59bcf5c09e0b75e +sha256 = e19bedc98ec3b252a29468d1536a4f766570e60b68cdabf33cb158c140f26a90 diff --git a/config/platforms/macos/55.0.2883.95-1.ini b/config/platforms/macos/55.0.2883.95-1.ini new file mode 100644 index 000000000..d5424b127 --- /dev/null +++ b/config/platforms/macos/55.0.2883.95-1.ini @@ -0,0 +1,5 @@ +[ungoogled-chromium_55.0.2883.95-1_macos.dmg] +url = https://github.com/ungoogled-software/ungoogled-chromium-binaries/releases/download/55.0.2883.95/ungoogled-chromium_55.0.2883.95-1_macos.dmg +md5 = 79f557b5f472e3431fd34672aa44d84f +sha1 = 49e4abf0dbeac78cc36ad111e36d188e574aece6 +sha256 = ce3059098bc77dcc298bf2f81c08bcb541495bdddc3d6a1cc0651fd39ab6f271 diff --git a/config/platforms/macos/display_name b/config/platforms/macos/display_name new file mode 100644 index 000000000..652c20f50 --- /dev/null +++ b/config/platforms/macos/display_name @@ -0,0 +1 @@ +macOS diff --git a/config/platforms/ubuntu/display_name b/config/platforms/ubuntu/display_name new file mode 100644 index 000000000..d57896ba4 --- /dev/null +++ b/config/platforms/ubuntu/display_name @@ -0,0 +1 @@ +Ubuntu diff --git a/config/platforms/ubuntu/xenial_amd64/55.0.2883.87-1.ini b/config/platforms/ubuntu/xenial_amd64/55.0.2883.87-1.ini new file mode 100644 index 000000000..ce92886b0 --- /dev/null +++ b/config/platforms/ubuntu/xenial_amd64/55.0.2883.87-1.ini @@ -0,0 +1,2 @@ +[See this GitHub comment] +url = https://github.com/Eloston/ungoogled-chromium/issues/140#issuecomment-266326418 diff --git a/config/platforms/ubuntu/xenial_amd64/display_name b/config/platforms/ubuntu/xenial_amd64/display_name new file mode 100644 index 000000000..44fb5fe83 --- /dev/null +++ b/config/platforms/ubuntu/xenial_amd64/display_name @@ -0,0 +1 @@ +16.04 (xenial) amd64 diff --git a/config/platforms/ubuntu/yakkety_amd64/55.0.2883.87-1.ini b/config/platforms/ubuntu/yakkety_amd64/55.0.2883.87-1.ini new file mode 100644 index 000000000..d2f6d8d6e --- /dev/null +++ b/config/platforms/ubuntu/yakkety_amd64/55.0.2883.87-1.ini @@ -0,0 +1,2 @@ +[See this GitHub comment] +url = https://github.com/Eloston/ungoogled-chromium/issues/140#issuecomment-266177118 diff --git a/config/platforms/ubuntu/yakkety_amd64/55.0.2883.95-1.ini b/config/platforms/ubuntu/yakkety_amd64/55.0.2883.95-1.ini new file mode 100644 index 000000000..05add86c2 --- /dev/null +++ b/config/platforms/ubuntu/yakkety_amd64/55.0.2883.95-1.ini @@ -0,0 +1,23 @@ +[chromedriver_55.0.2883.95-1_amd64.deb] +url = https://github.com/ungoogled-software/ungoogled-chromium-binaries/releases/download/55.0.2883.95/chromedriver_55.0.2883.95-1_amd64.deb +md5 = c3e4353d84154fb45a8a512d6590aab9 +sha1 = 8c47dfc40ed7a667036a0e7db7c66fad936a5ec3 +sha256 = d1fc2a10bbcca3a1a9d4338c5bc451cbd2a80e85286ea0040aef97cc1feed01a + +[chrome-sandbox_55.0.2883.95-1_amd64.deb] +url = https://github.com/ungoogled-software/ungoogled-chromium-binaries/releases/download/55.0.2883.95/chrome-sandbox_55.0.2883.95-1_amd64.deb +md5 = 62358b84e8d807a4fae1b2b926c86294 +sha1 = 8a9be91b2c390ac72ebbf7d9954e0fb8b99fd163 +sha256 = f831bd19e02f63cb0e576069340ac84a07399c1ae23cdcefbadb189951d1cf96 + +[chromium_55.0.2883.95-1_amd64.deb] +url = https://github.com/ungoogled-software/ungoogled-chromium-binaries/releases/download/55.0.2883.95/chromium_55.0.2883.95-1_amd64.deb +md5 = 8f7e84deffcb7e7cd9dad57e493b00c1 +sha1 = 91c9d686ea8fa0b469ad84ac573fbd1dc77a57ab +sha256 = 7bebd4f0b20c4c238858e38d5a989ae533b4c257380ada194318d973fa36c147 + +[chromium-l10n_55.0.2883.95-1_all.deb] +url = https://github.com/ungoogled-software/ungoogled-chromium-binaries/releases/download/55.0.2883.95/chromium-l10n_55.0.2883.95-1_all.deb +md5 = f77d9db80d60711bbd323c1e3008ecff +sha1 = c18532970e13f69cf5ec72271a2c9d5dcf5588fc +sha256 = 34af6a5ccc9b0ab247e93651d21dfd1b4a7782726f2155345a0e2481810da8f2 diff --git a/config/platforms/ubuntu/yakkety_amd64/display_name b/config/platforms/ubuntu/yakkety_amd64/display_name new file mode 100644 index 000000000..891e87f23 --- /dev/null +++ b/config/platforms/ubuntu/yakkety_amd64/display_name @@ -0,0 +1 @@ +16.10 (yakkety) amd64 diff --git a/config/platforms/windows/32bit/53.0.2785.116-1.ini b/config/platforms/windows/32bit/53.0.2785.116-1.ini new file mode 100644 index 000000000..cce6c792b --- /dev/null +++ b/config/platforms/windows/32bit/53.0.2785.116-1.ini @@ -0,0 +1,5 @@ +[ungoogled-chromium_53.0.2785.116-1_win32.zip] +url = https://github.com/Eloston/ungoogled-chromium/releases/download/53.0.2785.116-1/ungoogled-chromium_53.0.2785.116-1_win32.zip +md5 = 2b100b6ce33d106ebba11b41ff0bb6a0 +sha1 = ef83b6e20dc62359a1203e6b00d812349a167ba3 +sha256 = b24b9326f989f13a0ceab6cf62940e1d8294077c3d4bc88801e1d31854db9c71 diff --git a/config/platforms/windows/32bit/55.0.2883.87-1.ini b/config/platforms/windows/32bit/55.0.2883.87-1.ini new file mode 100644 index 000000000..d52bb40b3 --- /dev/null +++ b/config/platforms/windows/32bit/55.0.2883.87-1.ini @@ -0,0 +1,5 @@ +[ungoogled-chromium_55.0.2883.87-1_windows_x86.zip] +url = https://github.com/Eloston/ungoogled-chromium/releases/download/55.0.2883.87-1/ungoogled-chromium_55.0.2883.87-1_windows_x86.zip +md5 = 1ca5619f7f0c65ae21c329b27006a7f6 +sha1 = e63b16df366312b4257a9660d867368b2e6a0a3b +sha256 = 38eef153c7a34d8e858859f159bcccb3745ebe99428b00464a7e32426e50cd53 diff --git a/config/platforms/windows/32bit/display_name b/config/platforms/windows/32bit/display_name new file mode 100644 index 000000000..8f0aff682 --- /dev/null +++ b/config/platforms/windows/32bit/display_name @@ -0,0 +1 @@ +32-bit diff --git a/config/platforms/windows/64bit/55.0.2883.87-1.ini b/config/platforms/windows/64bit/55.0.2883.87-1.ini new file mode 100644 index 000000000..fa412f585 --- /dev/null +++ b/config/platforms/windows/64bit/55.0.2883.87-1.ini @@ -0,0 +1,5 @@ +[ungoogled-chromium_55.0.2883.87-1_windows_x64.zip] +url = https://github.com/Eloston/ungoogled-chromium/releases/download/55.0.2883.87-1/ungoogled-chromium_55.0.2883.87-1_windows_x64.zip +md5 = 5a0c046cd411d769fb49104a086a45e1 +sha1 = 50adf61c36973d35957d5ac5f833d439b4bf7657 +sha256 = 0b748947a56f814055f678c4be1e375a5fe614b17abae91b3d2ba49a5e20b4cd diff --git a/config/platforms/windows/64bit/display_name b/config/platforms/windows/64bit/display_name new file mode 100644 index 000000000..a55bd927f --- /dev/null +++ b/config/platforms/windows/64bit/display_name @@ -0,0 +1 @@ +64-bit diff --git a/config/platforms/windows/display_name b/config/platforms/windows/display_name new file mode 100644 index 000000000..0a2b7461a --- /dev/null +++ b/config/platforms/windows/display_name @@ -0,0 +1 @@ +Windows diff --git a/config/valid_versions b/config/valid_versions new file mode 100644 index 000000000..b952aa3f8 --- /dev/null +++ b/config/valid_versions @@ -0,0 +1,11 @@ +# This file is a list of all of the versions accepted in the config files +# Used for config file checking +# Comments must start at the beginning of the line with a "#" +# Blank lines are ignored + +# MAKE SURE TO UPDATE THIS FILE WHEN ADDING NEW VERSIONS + +53.0.2785.116-1 +55.0.2883.75-1 +55.0.2883.87-1 +55.0.2883.95-1 diff --git a/index.md b/index.md index f4d082c34..0062c3e04 100644 --- a/index.md +++ b/index.md @@ -6,20 +6,16 @@ **NOTE FOR LINUX USERS: Make sure to download packages for the correct system** -* Statically-linked Linux 64-bit: [55.0.2883.75-1](releases/55.0.2883.75-1/linux_static_64bit) -* Debian 9.0 (stretch) amd64: [55.0.2883.87-1](releases/55.0.2883.87-1/debian_stretch_amd64) -* Ubuntu 16.10 (yakkety) amd64: [55.0.2883.95-1](releases/55.0.2883.95-1/ubuntu_yakkety_amd64) -* Ubuntu 16.04 (xenial) amd64: [55.0.2883.87-1](releases/55.0.2883.87-1/ubuntu_xenial_amd64) -* Windows 32-bit: [55.0.2883.87-1](releases/55.0.2883.87-1/windows_32bit) -* Windows 64-bit: [55.0.2883.87-1](releases/55.0.2883.87-1/windows_64bit) -* macOS: [55.0.2883.95-1](releases/55.0.2883.95-1/macos) +* [Debian](/releases/debian) + * [9.0 (stretch) amd64](/releases/debian/stretch_amd64): [55.0.2883.87-1](/releases/debian/stretch_amd64/55.0.2883.87-1) +* [Semi-statically-linked Linux build](/releases/linux_static) + * [64-bit](/releases/linux_static/64bit): [55.0.2883.75-1](/releases/linux_static/64bit/55.0.2883.75-1) +* [macOS](/releases/macos): [55.0.2883.95-1](/releases/macos/55.0.2883.95-1) +* [Ubuntu](/releases/ubuntu) + * [16.04 (xenial) amd64](/releases/ubuntu/xenial_amd64): [55.0.2883.87-1](/releases/ubuntu/xenial_amd64/55.0.2883.87-1) + * [16.10 (yakkety) amd64](/releases/ubuntu/yakkety_amd64): [55.0.2883.95-1](/releases/ubuntu/yakkety_amd64/55.0.2883.95-1) +* [Windows](/releases/windows) + * [32-bit](/releases/windows/32bit): [55.0.2883.87-1](/releases/windows/32bit/55.0.2883.87-1) + * [64-bit](/releases/windows/64bit): [55.0.2883.87-1](/releases/windows/64bit/55.0.2883.87-1) ### [By version](releases) - -## Latest development versions - -*TODO* - -### By version - -*TODO* diff --git a/releases/53.0.2785.116-1/index.md b/releases/53.0.2785.116-1/index.md deleted file mode 100644 index 674a3faf7..000000000 --- a/releases/53.0.2785.116-1/index.md +++ /dev/null @@ -1,3 +0,0 @@ -# All 53.0.2785.116-1 downloads - -* [Windows 32-bit](windows_32bit) diff --git a/releases/55.0.2883.75-1/index.md b/releases/55.0.2883.75-1/index.md deleted file mode 100644 index 3274d089b..000000000 --- a/releases/55.0.2883.75-1/index.md +++ /dev/null @@ -1,5 +0,0 @@ -# All 55.0.2883.75-1 downloads - -* [Statically-linked Linux 64-bit](linux_static_64bit) -* [Debian 9.0 (stretch) amd64](debian_stretch_amd64) -* [macOS](macos) diff --git a/releases/55.0.2883.75-1/linux_static_64bit.md b/releases/55.0.2883.75-1/linux_static_64bit.md deleted file mode 100644 index 73f1b64bd..000000000 --- a/releases/55.0.2883.75-1/linux_static_64bit.md +++ /dev/null @@ -1,9 +0,0 @@ -# Download 55.0.2883.75-1, Statically-linked Linux 64-bit - -Link(s) to file downloads: - -* NOTE: built against [this commit](https://github.com/Eloston/ungoogled-chromium/commit/38183f5e6bc9d2111fac142bea9b7ad448f086a0) -* [ungoogled-chromium_55.0.2883-75-1_linux_x64_9Morello.tar.xz](https://github.com/Eloston/ungoogled-chromium/releases/download/55.0.2883.75-1/ungoogled-chromium_55.0.2883-75-1_linux_x64_9Morello.tar.xz) - * SHA1: `7d013ec44b22c561dc21f028de57c90b7eb8b66b` - * MD5: `4cbeb5459274649b25c5ab9a20bb7d3f` - * SHA256: `93448949d64b7c08ee4fa2026ca82e68ab47a32d1f2442bb116e53427859ebe2` diff --git a/releases/55.0.2883.87-1/index.md b/releases/55.0.2883.87-1/index.md deleted file mode 100644 index be0300f90..000000000 --- a/releases/55.0.2883.87-1/index.md +++ /dev/null @@ -1,7 +0,0 @@ -# All 55.0.2883.87-1 downloads - -* [Debian 9.0 (stretch) amd64](debian_stretch_amd64) -* [Windows 32-bit](windows_32bit) -* [Windows 64-bit](windows_64bit) -* [Ubuntu 16.10 (yakkety) amd64](ubuntu_yakkety_amd64) -* [Ubuntu 16.04 (xenial) amd64](ubuntu_xenial_amd64) diff --git a/releases/55.0.2883.87-1/ubuntu_xenial_amd64.md b/releases/55.0.2883.87-1/ubuntu_xenial_amd64.md deleted file mode 100644 index 7965f1a49..000000000 --- a/releases/55.0.2883.87-1/ubuntu_xenial_amd64.md +++ /dev/null @@ -1,5 +0,0 @@ -# Download 55.0.2883.87-1, Ubuntu 16.04 (xenial) amd64 - -Link(s) to file downloads: - -https://github.com/Eloston/ungoogled-chromium/issues/140#issuecomment-266326418 diff --git a/releases/55.0.2883.87-1/ubuntu_yakkety_amd64.md b/releases/55.0.2883.87-1/ubuntu_yakkety_amd64.md deleted file mode 100644 index 4a89a0b60..000000000 --- a/releases/55.0.2883.87-1/ubuntu_yakkety_amd64.md +++ /dev/null @@ -1,5 +0,0 @@ -# Download 55.0.2883.87-1, Ubuntu 16.10 (yakkety) amd64 - -Link(s) to file downloads: - -https://github.com/Eloston/ungoogled-chromium/issues/140#issuecomment-266177118 diff --git a/releases/55.0.2883.95-1/index.md b/releases/55.0.2883.95-1/index.md deleted file mode 100644 index b86fe1027..000000000 --- a/releases/55.0.2883.95-1/index.md +++ /dev/null @@ -1,4 +0,0 @@ -# All 55.0.2883.95-1 downloads - -* [Ubuntu 16.10 (yakkety) amd64](ubuntu_yakkety_amd64) -* [macOS](macos) diff --git a/releases/debian/index.md b/releases/debian/index.md new file mode 100644 index 000000000..84633d73d --- /dev/null +++ b/releases/debian/index.md @@ -0,0 +1,9 @@ +# Directory Listing + +Navigation: [Front page](/) / [Releases](/releases/) / [Debian](/releases/debian) + + +## Subgroupings + +* [9.0 (stretch) amd64](/releases/debian/stretch_amd64) + diff --git a/releases/55.0.2883.75-1/debian_stretch_amd64.md b/releases/debian/stretch_amd64/55.0.2883.75-1.md similarity index 88% rename from releases/55.0.2883.75-1/debian_stretch_amd64.md rename to releases/debian/stretch_amd64/55.0.2883.75-1.md index 72594922f..af2fbcfed 100644 --- a/releases/55.0.2883.75-1/debian_stretch_amd64.md +++ b/releases/debian/stretch_amd64/55.0.2883.75-1.md @@ -1,28 +1,30 @@ -# Download 55.0.2883.75-1, Debian 9.0 (stretch) amd64 +# $ungoog(version) Binaries for Debian - 9.0 (stretch) amd64 + +Navigation: [Front page](/) / [Releases](/releases/) / [Debian](/releases/debian) / [9.0 (stretch) amd64](/releases/debian/stretch_amd64) / [55.0.2883.75-1](/releases/debian/stretch_amd64/55.0.2883.75-1) -Link(s) to file downloads: -* [chromedriver_55.0.2883.75-1_amd64.deb](https://github.com/Eloston/ungoogled-chromium/releases/download/55.0.2883.75-1/chromedriver_55.0.2883.75-1_amd64.deb) - * SHA1: `970f239ff9d9c67f256b53d062e6e0f598bac063` - * MD5: `93570ccd1d4e5c1b2c49728944fdffc0` - * SHA256: `e26a80f38ac05d40f6b109c046901e49422945997a815e5e1fc16ee42c6a2ede` * [chrome-sandbox_55.0.2883.75-1_amd64.deb](https://github.com/Eloston/ungoogled-chromium/releases/download/55.0.2883.75-1/chrome-sandbox_55.0.2883.75-1_amd64.deb) - * SHA1: `c21423399e367f1109f9b3dcc29ba3b5727bf0d7` * MD5: `6de9de2bc3811c56aa07607ef86ab9de` + * SHA1: `c21423399e367f1109f9b3dcc29ba3b5727bf0d7` * SHA256: `2338bc7e561605379ed0db962394dcd944b486b49e00fae0b72e4f18dbc461c2` -* [chromium_55.0.2883.75-1_amd64.deb](https://github.com/Eloston/ungoogled-chromium/releases/download/55.0.2883.75-1/chromium_55.0.2883.75-1_amd64.deb) - * SHA1: `5d232f090cfadc6861993be60139d301d3740f32` - * MD5: `106c630e0561e702cb1c74c5433baa2f` - * SHA256: `f0066e32803cae628432074150b9562ebbfde7945cbc5c1159d1ff4d44ec5ee6` -* [chromium-l10n_55.0.2883.75-1_all.deb](https://github.com/Eloston/ungoogled-chromium/releases/download/55.0.2883.75-1/chromium-l10n_55.0.2883.75-1_all.deb) - * SHA1: `d957e92acaac67047b09653db63d536416a47537` - * MD5: `d1ba3735b6ecb5c067d845f74c90c7b0` - * SHA256: `6d776686a1d5e94ab5f8a7abad1ae01490abade26058523982d1e84397b14261` -* [chromium-browser_55.0.2883.75-1_amd64.changes](https://github.com/Eloston/ungoogled-chromium/releases/download/55.0.2883.75-1/chromium-browser_55.0.2883.75-1_amd64.changes) - * SHA1: `46c8a364c25fee47a0c4df618868d6e813a4b13f` - * MD5: `03b12914927f1447aa3f3fc86a825478` - * SHA256: `1657199428a94c87c5d163ae9520d934b69f1c7e10c209a962d45126c3ad5e0b` +* [chromedriver_55.0.2883.75-1_amd64.deb](https://github.com/Eloston/ungoogled-chromium/releases/download/55.0.2883.75-1/chromedriver_55.0.2883.75-1_amd64.deb) + * MD5: `93570ccd1d4e5c1b2c49728944fdffc0` + * SHA1: `970f239ff9d9c67f256b53d062e6e0f598bac063` + * SHA256: `e26a80f38ac05d40f6b109c046901e49422945997a815e5e1fc16ee42c6a2ede` * [chromium-browser_55.0.2883.75-1_amd64.buildinfo](https://github.com/Eloston/ungoogled-chromium/releases/download/55.0.2883.75-1/chromium-browser_55.0.2883.75-1_amd64.buildinfo) - * SHA1: `f3494dd41d397adc83c15f42ffa6230cef90697e` * MD5: `7aaad3f6ea6952f59b7d2d6a186c8cbe` + * SHA1: `f3494dd41d397adc83c15f42ffa6230cef90697e` * SHA256: `50dffad3a525ec29e1e31213524a2f5702d62d41edd9e24b7ebcc5e13557bc55` +* [chromium-browser_55.0.2883.75-1_amd64.changes](https://github.com/Eloston/ungoogled-chromium/releases/download/55.0.2883.75-1/chromium-browser_55.0.2883.75-1_amd64.changes) + * MD5: `03b12914927f1447aa3f3fc86a825478` + * SHA1: `46c8a364c25fee47a0c4df618868d6e813a4b13f` + * SHA256: `1657199428a94c87c5d163ae9520d934b69f1c7e10c209a962d45126c3ad5e0b` +* [chromium-l10n_55.0.2883.75-1_all.deb](https://github.com/Eloston/ungoogled-chromium/releases/download/55.0.2883.75-1/chromium-l10n_55.0.2883.75-1_all.deb) + * MD5: `d1ba3735b6ecb5c067d845f74c90c7b0` + * SHA1: `d957e92acaac67047b09653db63d536416a47537` + * SHA256: `6d776686a1d5e94ab5f8a7abad1ae01490abade26058523982d1e84397b14261` +* [chromium_55.0.2883.75-1_amd64.deb](https://github.com/Eloston/ungoogled-chromium/releases/download/55.0.2883.75-1/chromium_55.0.2883.75-1_amd64.deb) + * MD5: `106c630e0561e702cb1c74c5433baa2f` + * SHA1: `5d232f090cfadc6861993be60139d301d3740f32` + * SHA256: `f0066e32803cae628432074150b9562ebbfde7945cbc5c1159d1ff4d44ec5ee6` + diff --git a/releases/55.0.2883.87-1/debian_stretch_amd64.md b/releases/debian/stretch_amd64/55.0.2883.87-1.md similarity index 88% rename from releases/55.0.2883.87-1/debian_stretch_amd64.md rename to releases/debian/stretch_amd64/55.0.2883.87-1.md index 439e47648..0908cde66 100644 --- a/releases/55.0.2883.87-1/debian_stretch_amd64.md +++ b/releases/debian/stretch_amd64/55.0.2883.87-1.md @@ -1,28 +1,30 @@ -# Download 55.0.2883.87-1, Debian 9.0 (stretch) amd64 +# $ungoog(version) Binaries for Debian - 9.0 (stretch) amd64 + +Navigation: [Front page](/) / [Releases](/releases/) / [Debian](/releases/debian) / [9.0 (stretch) amd64](/releases/debian/stretch_amd64) / [55.0.2883.87-1](/releases/debian/stretch_amd64/55.0.2883.87-1) -Link(s) to file downloads: -* [chromedriver_55.0.2883.87-1_amd64.deb](https://github.com/Eloston/ungoogled-chromium/releases/download/55.0.2883.87-1/chromedriver_55.0.2883.87-1_amd64.deb) - * SHA256: `1bb160480fdba3e42c63a5b36c349b44e661ea6d0298fce0b90b5c3de32f5916` - * SHA1: `aa12891398c260a2faa30bbb0c95101d1c6c8de4` - * MD5: `c2483541272b8d8292db36d26a347878` * [chrome-sandbox_55.0.2883.87-1_amd64.deb](https://github.com/Eloston/ungoogled-chromium/releases/download/55.0.2883.87-1/chrome-sandbox_55.0.2883.87-1_amd64.deb) - * SHA256: `1514717ba3676fb26cabf1dfd67bd895058f15ee337871823becea31c1ce8889` - * SHA1: `a96f33073d45dae57c147d68f84b1e6f76703e2c` * MD5: `2b8c9d167e3f8a91a0ed15d0db3f5abb` -* [chromium_55.0.2883.87-1_amd64.deb](https://github.com/Eloston/ungoogled-chromium/releases/download/55.0.2883.87-1/chromium_55.0.2883.87-1_amd64.deb) - * SHA256: `5c5b3e705d99b1bd8ddd00ed178f9301dbfdd56ec5def8fa6b717603904ea723` - * SHA1: `30763a4ffbba85afe13341c662d2e24694252917` - * MD5: `b18cc935258545c01bef73a638d41ac1` -* [chromium-l10n_55.0.2883.87-1_all.deb](https://github.com/Eloston/ungoogled-chromium/releases/download/55.0.2883.87-1/chromium-l10n_55.0.2883.87-1_all.deb) - * SHA256: `f45ae22b2abae37ad6150f4a5e88a9715dbca52c2f9645768a0e9fa0b4501a77` - * SHA1: `98e05b331bbefdb871276b13111f21866ba92089` - * MD5: `c485437fbd532910ca1afb89415191b7` + * SHA1: `a96f33073d45dae57c147d68f84b1e6f76703e2c` + * SHA256: `1514717ba3676fb26cabf1dfd67bd895058f15ee337871823becea31c1ce8889` +* [chromedriver_55.0.2883.87-1_amd64.deb](https://github.com/Eloston/ungoogled-chromium/releases/download/55.0.2883.87-1/chromedriver_55.0.2883.87-1_amd64.deb) + * MD5: `c2483541272b8d8292db36d26a347878` + * SHA1: `aa12891398c260a2faa30bbb0c95101d1c6c8de4` + * SHA256: `1bb160480fdba3e42c63a5b36c349b44e661ea6d0298fce0b90b5c3de32f5916` * [chromium-browser_55.0.2883.87-1_amd64.buildinfo](https://github.com/Eloston/ungoogled-chromium/releases/download/55.0.2883.87-1/chromium-browser_55.0.2883.87-1_amd64.buildinfo) - * SHA256: `eb2a38d2777f049a33586ff90230210d7c05839905248c623647c1c9f103653f` - * SHA1: `63ee43b825cab0afdc205d51cf3830e0204ec7be` * MD5: `fdef5d5fc5f7296eefb1eff5609a9a29` + * SHA1: `63ee43b825cab0afdc205d51cf3830e0204ec7be` + * SHA256: `eb2a38d2777f049a33586ff90230210d7c05839905248c623647c1c9f103653f` * [chromium-browser_55.0.2883.87-1_amd64.changes](https://github.com/Eloston/ungoogled-chromium/releases/download/55.0.2883.87-1/chromium-browser_55.0.2883.87-1_amd64.changes) - * SHA256: `db677b498dde2cacd3da4bb4873752d2e2334e6ec97eeac4ed99f0d3c935d779` - * SHA1: `151b81990d073650923a35ee9e92c1e43e941351` * MD5: `0597c20cfe795fbf7001d19708c34c13` + * SHA1: `151b81990d073650923a35ee9e92c1e43e941351` + * SHA256: `db677b498dde2cacd3da4bb4873752d2e2334e6ec97eeac4ed99f0d3c935d779` +* [chromium-l10n_55.0.2883.87-1_all.deb](https://github.com/Eloston/ungoogled-chromium/releases/download/55.0.2883.87-1/chromium-l10n_55.0.2883.87-1_all.deb) + * MD5: `c485437fbd532910ca1afb89415191b7` + * SHA1: `98e05b331bbefdb871276b13111f21866ba92089` + * SHA256: `f45ae22b2abae37ad6150f4a5e88a9715dbca52c2f9645768a0e9fa0b4501a77` +* [chromium_55.0.2883.87-1_amd64.deb](https://github.com/Eloston/ungoogled-chromium/releases/download/55.0.2883.87-1/chromium_55.0.2883.87-1_amd64.deb) + * MD5: `b18cc935258545c01bef73a638d41ac1` + * SHA1: `30763a4ffbba85afe13341c662d2e24694252917` + * SHA256: `5c5b3e705d99b1bd8ddd00ed178f9301dbfdd56ec5def8fa6b717603904ea723` + diff --git a/releases/debian/stretch_amd64/index.md b/releases/debian/stretch_amd64/index.md new file mode 100644 index 000000000..3af9dcb74 --- /dev/null +++ b/releases/debian/stretch_amd64/index.md @@ -0,0 +1,10 @@ +# Directory Listing + +Navigation: [Front page](/) / [Releases](/releases/) / [Debian](/releases/debian) / [9.0 (stretch) amd64](/releases/debian/stretch_amd64) + +## Available versions + +* [55.0.2883.87-1](/releases/debian/stretch_amd64/55.0.2883.87-1) +* [55.0.2883.75-1](/releases/debian/stretch_amd64/55.0.2883.75-1) + + diff --git a/releases/index.md b/releases/index.md index 6429d0bcb..b6c74bf92 100644 --- a/releases/index.md +++ b/releases/index.md @@ -1,6 +1,13 @@ -# Latest production versions by version +# Directory Listing + +Navigation: [Front page](/) / [Releases](/releases/) + + +## Subgroupings + +* [Debian](/releases/debian) +* [Semi-statically-linked Linux build](/releases/linux_static) +* [macOS](/releases/macos) +* [Ubuntu](/releases/ubuntu) +* [Windows](/releases/windows) -* [55.0.2883.95-1](55.0.2883.95-1) -* [55.0.2883.87-1](55.0.2883.87-1) -* [55.0.2883.75-1](55.0.2883.75-1) -* [53.0.2785.116-1](53.0.2785.116-1) diff --git a/releases/linux_static/64bit/55.0.2883.75-1.md b/releases/linux_static/64bit/55.0.2883.75-1.md new file mode 100644 index 000000000..2df69aaf6 --- /dev/null +++ b/releases/linux_static/64bit/55.0.2883.75-1.md @@ -0,0 +1,10 @@ +# $ungoog(version) Binaries for Semi-statically-linked Linux build - 64-bit + +Navigation: [Front page](/) / [Releases](/releases/) / [Semi-statically-linked Linux build](/releases/linux_static) / [64-bit](/releases/linux_static/64bit) / [55.0.2883.75-1](/releases/linux_static/64bit/55.0.2883.75-1) + +built against [this commit](https://github.com/Eloston/ungoogled-chromium/commit/38183f5e6bc9d2111fac142bea9b7ad448f086a0) +* [ungoogled-chromium_55.0.2883-75-1_linux_x64_9Morello.tar.xz](https://github.com/Eloston/ungoogled-chromium/releases/download/55.0.2883.75-1/ungoogled-chromium_55.0.2883-75-1_linux_x64_9Morello.tar.xz) + * MD5: `4cbeb5459274649b25c5ab9a20bb7d3f` + * SHA1: `7d013ec44b22c561dc21f028de57c90b7eb8b66b` + * SHA256: `93448949d64b7c08ee4fa2026ca82e68ab47a32d1f2442bb116e53427859ebe2` + diff --git a/releases/linux_static/64bit/index.md b/releases/linux_static/64bit/index.md new file mode 100644 index 000000000..cafe381af --- /dev/null +++ b/releases/linux_static/64bit/index.md @@ -0,0 +1,9 @@ +# Directory Listing + +Navigation: [Front page](/) / [Releases](/releases/) / [Semi-statically-linked Linux build](/releases/linux_static) / [64-bit](/releases/linux_static/64bit) + +## Available versions + +* [55.0.2883.75-1](/releases/linux_static/64bit/55.0.2883.75-1) + + diff --git a/releases/linux_static/index.md b/releases/linux_static/index.md new file mode 100644 index 000000000..400994089 --- /dev/null +++ b/releases/linux_static/index.md @@ -0,0 +1,9 @@ +# Directory Listing + +Navigation: [Front page](/) / [Releases](/releases/) / [Semi-statically-linked Linux build](/releases/linux_static) + + +## Subgroupings + +* [64-bit](/releases/linux_static/64bit) + diff --git a/releases/55.0.2883.75-1/macos.md b/releases/macos/55.0.2883.75-1.md similarity index 68% rename from releases/55.0.2883.75-1/macos.md rename to releases/macos/55.0.2883.75-1.md index f46cde8f0..febdc2e1b 100644 --- a/releases/55.0.2883.75-1/macos.md +++ b/releases/macos/55.0.2883.75-1.md @@ -1,8 +1,10 @@ -# Download 55.0.2883.75-1, macOS +# $ungoog(version) Binaries for macOS + +Navigation: [Front page](/) / [Releases](/releases/) / [macOS](/releases/macos) / [55.0.2883.75-1](/releases/macos/55.0.2883.75-1) -Link(s) to file downloads: * [ungoogled-chromium_55.0.2883-75-1_macos_9Morello.dmg](https://github.com/Eloston/ungoogled-chromium/releases/download/55.0.2883.75-1/ungoogled-chromium_55.0.2883-75-1_macos_9Morello.dmg) - * SHA1: `1d334feed258866d946dc463b59bcf5c09e0b75e` * MD5: `6c2bd5a644bf9964c244d1d12f1276d7` + * SHA1: `1d334feed258866d946dc463b59bcf5c09e0b75e` * SHA256: `e19bedc98ec3b252a29468d1536a4f766570e60b68cdabf33cb158c140f26a90` + diff --git a/releases/55.0.2883.95-1/macos.md b/releases/macos/55.0.2883.95-1.md similarity index 68% rename from releases/55.0.2883.95-1/macos.md rename to releases/macos/55.0.2883.95-1.md index 893f51937..c7d92b6e6 100644 --- a/releases/55.0.2883.95-1/macos.md +++ b/releases/macos/55.0.2883.95-1.md @@ -1,8 +1,10 @@ -# Download 55.0.2883.95-1, macOS +# $ungoog(version) Binaries for macOS + +Navigation: [Front page](/) / [Releases](/releases/) / [macOS](/releases/macos) / [55.0.2883.95-1](/releases/macos/55.0.2883.95-1) -Link(s) to file downloads: * [ungoogled-chromium_55.0.2883.95-1_macos.dmg](https://github.com/ungoogled-software/ungoogled-chromium-binaries/releases/download/55.0.2883.95/ungoogled-chromium_55.0.2883.95-1_macos.dmg) + * MD5: `79f557b5f472e3431fd34672aa44d84f` * SHA1: `49e4abf0dbeac78cc36ad111e36d188e574aece6` * SHA256: `ce3059098bc77dcc298bf2f81c08bcb541495bdddc3d6a1cc0651fd39ab6f271` - * MD5: `79f557b5f472e3431fd34672aa44d84f` + diff --git a/releases/macos/index.md b/releases/macos/index.md new file mode 100644 index 000000000..8dffe2483 --- /dev/null +++ b/releases/macos/index.md @@ -0,0 +1,10 @@ +# Directory Listing + +Navigation: [Front page](/) / [Releases](/releases/) / [macOS](/releases/macos) + +## Available versions + +* [55.0.2883.95-1](/releases/macos/55.0.2883.95-1) +* [55.0.2883.75-1](/releases/macos/55.0.2883.75-1) + + diff --git a/releases/ubuntu/index.md b/releases/ubuntu/index.md new file mode 100644 index 000000000..492ea9a0c --- /dev/null +++ b/releases/ubuntu/index.md @@ -0,0 +1,10 @@ +# Directory Listing + +Navigation: [Front page](/) / [Releases](/releases/) / [Ubuntu](/releases/ubuntu) + + +## Subgroupings + +* [16.04 (xenial) amd64](/releases/ubuntu/xenial_amd64) +* [16.10 (yakkety) amd64](/releases/ubuntu/yakkety_amd64) + diff --git a/releases/ubuntu/xenial_amd64/55.0.2883.87-1.md b/releases/ubuntu/xenial_amd64/55.0.2883.87-1.md new file mode 100644 index 000000000..10cea333e --- /dev/null +++ b/releases/ubuntu/xenial_amd64/55.0.2883.87-1.md @@ -0,0 +1,7 @@ +# $ungoog(version) Binaries for Ubuntu - 16.04 (xenial) amd64 + +Navigation: [Front page](/) / [Releases](/releases/) / [Ubuntu](/releases/ubuntu) / [16.04 (xenial) amd64](/releases/ubuntu/xenial_amd64) / [55.0.2883.87-1](/releases/ubuntu/xenial_amd64/55.0.2883.87-1) + + +* [See this GitHub comment](https://github.com/Eloston/ungoogled-chromium/issues/140#issuecomment-266326418) + diff --git a/releases/ubuntu/xenial_amd64/index.md b/releases/ubuntu/xenial_amd64/index.md new file mode 100644 index 000000000..be0f9fbef --- /dev/null +++ b/releases/ubuntu/xenial_amd64/index.md @@ -0,0 +1,9 @@ +# Directory Listing + +Navigation: [Front page](/) / [Releases](/releases/) / [Ubuntu](/releases/ubuntu) / [16.04 (xenial) amd64](/releases/ubuntu/xenial_amd64) + +## Available versions + +* [55.0.2883.87-1](/releases/ubuntu/xenial_amd64/55.0.2883.87-1) + + diff --git a/releases/ubuntu/yakkety_amd64/55.0.2883.87-1.md b/releases/ubuntu/yakkety_amd64/55.0.2883.87-1.md new file mode 100644 index 000000000..006f76e04 --- /dev/null +++ b/releases/ubuntu/yakkety_amd64/55.0.2883.87-1.md @@ -0,0 +1,7 @@ +# $ungoog(version) Binaries for Ubuntu - 16.10 (yakkety) amd64 + +Navigation: [Front page](/) / [Releases](/releases/) / [Ubuntu](/releases/ubuntu) / [16.10 (yakkety) amd64](/releases/ubuntu/yakkety_amd64) / [55.0.2883.87-1](/releases/ubuntu/yakkety_amd64/55.0.2883.87-1) + + +* [See this GitHub comment](https://github.com/Eloston/ungoogled-chromium/issues/140#issuecomment-266177118) + diff --git a/releases/55.0.2883.95-1/ubuntu_yakkety_amd64.md b/releases/ubuntu/yakkety_amd64/55.0.2883.95-1.md similarity index 84% rename from releases/55.0.2883.95-1/ubuntu_yakkety_amd64.md rename to releases/ubuntu/yakkety_amd64/55.0.2883.95-1.md index e6107da85..9944ce08c 100644 --- a/releases/55.0.2883.95-1/ubuntu_yakkety_amd64.md +++ b/releases/ubuntu/yakkety_amd64/55.0.2883.95-1.md @@ -1,20 +1,22 @@ -# Download 55.0.2883.95-1, Ubuntu 16.10 (yakkety) amd64 +# $ungoog(version) Binaries for Ubuntu - 16.10 (yakkety) amd64 + +Navigation: [Front page](/) / [Releases](/releases/) / [Ubuntu](/releases/ubuntu) / [16.10 (yakkety) amd64](/releases/ubuntu/yakkety_amd64) / [55.0.2883.95-1](/releases/ubuntu/yakkety_amd64/55.0.2883.95-1) -Link(s) to file downloads: -* [chromedriver_55.0.2883.95-1_amd64.deb](https://github.com/ungoogled-software/ungoogled-chromium-binaries/releases/download/55.0.2883.95/chromedriver_55.0.2883.95-1_amd64.deb) - * MD5: `c3e4353d84154fb45a8a512d6590aab9` - * SHA256: `d1fc2a10bbcca3a1a9d4338c5bc451cbd2a80e85286ea0040aef97cc1feed01a` - * SHA1: `8c47dfc40ed7a667036a0e7db7c66fad936a5ec3` * [chrome-sandbox_55.0.2883.95-1_amd64.deb](https://github.com/ungoogled-software/ungoogled-chromium-binaries/releases/download/55.0.2883.95/chrome-sandbox_55.0.2883.95-1_amd64.deb) * MD5: `62358b84e8d807a4fae1b2b926c86294` - * SHA256: `f831bd19e02f63cb0e576069340ac84a07399c1ae23cdcefbadb189951d1cf96` * SHA1: `8a9be91b2c390ac72ebbf7d9954e0fb8b99fd163` -* [chromium_55.0.2883.95-1_amd64.deb](https://github.com/ungoogled-software/ungoogled-chromium-binaries/releases/download/55.0.2883.95/chromium_55.0.2883.95-1_amd64.deb) - * MD5: `8f7e84deffcb7e7cd9dad57e493b00c1` - * SHA256: `7bebd4f0b20c4c238858e38d5a989ae533b4c257380ada194318d973fa36c147` - * SHA1: `91c9d686ea8fa0b469ad84ac573fbd1dc77a57ab` + * SHA256: `f831bd19e02f63cb0e576069340ac84a07399c1ae23cdcefbadb189951d1cf96` +* [chromedriver_55.0.2883.95-1_amd64.deb](https://github.com/ungoogled-software/ungoogled-chromium-binaries/releases/download/55.0.2883.95/chromedriver_55.0.2883.95-1_amd64.deb) + * MD5: `c3e4353d84154fb45a8a512d6590aab9` + * SHA1: `8c47dfc40ed7a667036a0e7db7c66fad936a5ec3` + * SHA256: `d1fc2a10bbcca3a1a9d4338c5bc451cbd2a80e85286ea0040aef97cc1feed01a` * [chromium-l10n_55.0.2883.95-1_all.deb](https://github.com/ungoogled-software/ungoogled-chromium-binaries/releases/download/55.0.2883.95/chromium-l10n_55.0.2883.95-1_all.deb) * MD5: `f77d9db80d60711bbd323c1e3008ecff` - * SHA256: `34af6a5ccc9b0ab247e93651d21dfd1b4a7782726f2155345a0e2481810da8f2` * SHA1: `c18532970e13f69cf5ec72271a2c9d5dcf5588fc` + * SHA256: `34af6a5ccc9b0ab247e93651d21dfd1b4a7782726f2155345a0e2481810da8f2` +* [chromium_55.0.2883.95-1_amd64.deb](https://github.com/ungoogled-software/ungoogled-chromium-binaries/releases/download/55.0.2883.95/chromium_55.0.2883.95-1_amd64.deb) + * MD5: `8f7e84deffcb7e7cd9dad57e493b00c1` + * SHA1: `91c9d686ea8fa0b469ad84ac573fbd1dc77a57ab` + * SHA256: `7bebd4f0b20c4c238858e38d5a989ae533b4c257380ada194318d973fa36c147` + diff --git a/releases/ubuntu/yakkety_amd64/index.md b/releases/ubuntu/yakkety_amd64/index.md new file mode 100644 index 000000000..91b0297fb --- /dev/null +++ b/releases/ubuntu/yakkety_amd64/index.md @@ -0,0 +1,10 @@ +# Directory Listing + +Navigation: [Front page](/) / [Releases](/releases/) / [Ubuntu](/releases/ubuntu) / [16.10 (yakkety) amd64](/releases/ubuntu/yakkety_amd64) + +## Available versions + +* [55.0.2883.95-1](/releases/ubuntu/yakkety_amd64/55.0.2883.95-1) +* [55.0.2883.87-1](/releases/ubuntu/yakkety_amd64/55.0.2883.87-1) + + diff --git a/releases/53.0.2785.116-1/windows_32bit.md b/releases/windows/32bit/53.0.2785.116-1.md similarity index 60% rename from releases/53.0.2785.116-1/windows_32bit.md rename to releases/windows/32bit/53.0.2785.116-1.md index 178e5b1a5..ef6c46695 100644 --- a/releases/53.0.2785.116-1/windows_32bit.md +++ b/releases/windows/32bit/53.0.2785.116-1.md @@ -1,8 +1,10 @@ -# Download 53.0.2785.116-1, Windows 32-bit +# $ungoog(version) Binaries for Windows - 32-bit + +Navigation: [Front page](/) / [Releases](/releases/) / [Windows](/releases/windows) / [32-bit](/releases/windows/32bit) / [53.0.2785.116-1](/releases/windows/32bit/53.0.2785.116-1) -Link(s) to file downloads: * [ungoogled-chromium_53.0.2785.116-1_win32.zip](https://github.com/Eloston/ungoogled-chromium/releases/download/53.0.2785.116-1/ungoogled-chromium_53.0.2785.116-1_win32.zip) * MD5: `2b100b6ce33d106ebba11b41ff0bb6a0` - * SHA256: `b24b9326f989f13a0ceab6cf62940e1d8294077c3d4bc88801e1d31854db9c71` * SHA1: `ef83b6e20dc62359a1203e6b00d812349a167ba3` + * SHA256: `b24b9326f989f13a0ceab6cf62940e1d8294077c3d4bc88801e1d31854db9c71` + diff --git a/releases/55.0.2883.87-1/windows_32bit.md b/releases/windows/32bit/55.0.2883.87-1.md similarity index 61% rename from releases/55.0.2883.87-1/windows_32bit.md rename to releases/windows/32bit/55.0.2883.87-1.md index 191a64eeb..623e71874 100644 --- a/releases/55.0.2883.87-1/windows_32bit.md +++ b/releases/windows/32bit/55.0.2883.87-1.md @@ -1,8 +1,10 @@ -# Download 53.0.2785.116-1, Windows 32-bit +# $ungoog(version) Binaries for Windows - 32-bit + +Navigation: [Front page](/) / [Releases](/releases/) / [Windows](/releases/windows) / [32-bit](/releases/windows/32bit) / [55.0.2883.87-1](/releases/windows/32bit/55.0.2883.87-1) -Link(s) to file downloads: * [ungoogled-chromium_55.0.2883.87-1_windows_x86.zip](https://github.com/Eloston/ungoogled-chromium/releases/download/55.0.2883.87-1/ungoogled-chromium_55.0.2883.87-1_windows_x86.zip) - * SHA256: `38eef153c7a34d8e858859f159bcccb3745ebe99428b00464a7e32426e50cd53` - * SHA1: `e63b16df366312b4257a9660d867368b2e6a0a3b` * MD5: `1ca5619f7f0c65ae21c329b27006a7f6` + * SHA1: `e63b16df366312b4257a9660d867368b2e6a0a3b` + * SHA256: `38eef153c7a34d8e858859f159bcccb3745ebe99428b00464a7e32426e50cd53` + diff --git a/releases/windows/32bit/index.md b/releases/windows/32bit/index.md new file mode 100644 index 000000000..071a5f672 --- /dev/null +++ b/releases/windows/32bit/index.md @@ -0,0 +1,10 @@ +# Directory Listing + +Navigation: [Front page](/) / [Releases](/releases/) / [Windows](/releases/windows) / [32-bit](/releases/windows/32bit) + +## Available versions + +* [55.0.2883.87-1](/releases/windows/32bit/55.0.2883.87-1) +* [53.0.2785.116-1](/releases/windows/32bit/53.0.2785.116-1) + + diff --git a/releases/55.0.2883.87-1/windows_64bit.md b/releases/windows/64bit/55.0.2883.87-1.md similarity index 61% rename from releases/55.0.2883.87-1/windows_64bit.md rename to releases/windows/64bit/55.0.2883.87-1.md index 0b8cdd7b1..d598d20b3 100644 --- a/releases/55.0.2883.87-1/windows_64bit.md +++ b/releases/windows/64bit/55.0.2883.87-1.md @@ -1,8 +1,10 @@ -# Download 53.0.2785.116-1, Windows 64-bit +# $ungoog(version) Binaries for Windows - 64-bit + +Navigation: [Front page](/) / [Releases](/releases/) / [Windows](/releases/windows) / [64-bit](/releases/windows/64bit) / [55.0.2883.87-1](/releases/windows/64bit/55.0.2883.87-1) -Link(s) to file downloads: * [ungoogled-chromium_55.0.2883.87-1_windows_x64.zip](https://github.com/Eloston/ungoogled-chromium/releases/download/55.0.2883.87-1/ungoogled-chromium_55.0.2883.87-1_windows_x64.zip) - * SHA256: `0b748947a56f814055f678c4be1e375a5fe614b17abae91b3d2ba49a5e20b4cd` - * SHA1: `50adf61c36973d35957d5ac5f833d439b4bf7657` * MD5: `5a0c046cd411d769fb49104a086a45e1` + * SHA1: `50adf61c36973d35957d5ac5f833d439b4bf7657` + * SHA256: `0b748947a56f814055f678c4be1e375a5fe614b17abae91b3d2ba49a5e20b4cd` + diff --git a/releases/windows/64bit/index.md b/releases/windows/64bit/index.md new file mode 100644 index 000000000..98de80873 --- /dev/null +++ b/releases/windows/64bit/index.md @@ -0,0 +1,9 @@ +# Directory Listing + +Navigation: [Front page](/) / [Releases](/releases/) / [Windows](/releases/windows) / [64-bit](/releases/windows/64bit) + +## Available versions + +* [55.0.2883.87-1](/releases/windows/64bit/55.0.2883.87-1) + + diff --git a/releases/windows/index.md b/releases/windows/index.md new file mode 100644 index 000000000..e9a811546 --- /dev/null +++ b/releases/windows/index.md @@ -0,0 +1,10 @@ +# Directory Listing + +Navigation: [Front page](/) / [Releases](/releases/) / [Windows](/releases/windows) + + +## Subgroupings + +* [32-bit](/releases/windows/32bit) +* [64-bit](/releases/windows/64bit) + diff --git a/utilities/platform_ini_generator.py b/utilities/platform_ini_generator.py new file mode 100755 index 000000000..46820c3b6 --- /dev/null +++ b/utilities/platform_ini_generator.py @@ -0,0 +1,105 @@ +#!/usr/bin/env python3 + +# ungoogled-chromium-binaries: Concerns prebuilt versions of ungoogled-chromium +# Copyright (C) 2016 ungoogled-software contributors +# +# This file is part of ungoogled-chromium-binaries. +# +# ungoogled-chromium-binaries is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# ungoogled-chromium-binaries is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with ungoogled-chromium-binaries. If not, see . + +''' +This script takes in files and generates a platform ini as if they were uploaded to the Releases page + +Output is to stdout, so consider redirecting the output to a file +''' + +import sys +import pathlib +import hashlib +import collections + +USERNAME = "ungoogled-software" +PROJECT = "ungoogled-chromium-binaries" + +class DownloadsManager: + _algorithms = ["md5", "sha1", "sha256"] + _downloads = dict() + _username = None + _project = None + _version = None + + @classmethod + def set_params(cls, username, project, version): + cls._username = username + cls._project = project + cls._version = version + + @classmethod + def _create_download_url(cls, filename): + return "https://github.com/{username}/{project}/releases/download/{version}/{filename}".format( + filename=filename, + version=cls._version, + username=cls._username, + project=cls._project) + + @classmethod + def to_ini(cls): + download_template = '''[{filename}] +url = {url} +{hashes}''' + hash_template = '''{algorithm} = {filehash}''' + + downloads_list = list() + for filename in sorted(cls._downloads): + hashes_list = list() + for algorithm in cls._downloads[filename]: + hashes_list.append(hash_template.format( + algorithm=algorithm.lower(), + filehash=cls._downloads[filename][algorithm])) + downloads_list.append(download_template.format( + filename=filename, + url=cls._create_download_url(filename), + hashes="\n".join(hashes_list))) + return "\n\n".join(downloads_list) + + @classmethod + def add_download(self, filepath): + if filepath.name in self._downloads: + raise Exception("File {!s} already added".format(filepath)) + self._downloads[filepath.name] = dict() + with filepath.open("rb") as fileobj: + for algorithm in self._algorithms: + hasher = hashlib.new(algorithm) + hasher.update(fileobj.read()) + self._downloads[filepath.name][algorithm] = hasher.hexdigest() + fileobj.seek(0) + +def print_usage_info(): + print("Usage: tag_version [file_name [file_name [...]]]", file=sys.stderr) + +def main(args): + print(args, file=sys.stderr) + if args[0] == "--help" or args[0] == "-h" or args[0] == "help": + print_usage_info() + return 0 + args_parser = iter(args) + current_version = next(args_parser) + DownloadsManager.set_params(USERNAME, PROJECT, current_version) + for filename in args_parser: + DownloadsManager.add_download(pathlib.Path(filename)) + print(DownloadsManager.to_ini()) + return 0 + +if __name__ == "__main__": + exit(main(sys.argv[1:])) diff --git a/utilities/site_generator.py b/utilities/site_generator.py new file mode 100755 index 000000000..68ddee47b --- /dev/null +++ b/utilities/site_generator.py @@ -0,0 +1,308 @@ +#!/usr/bin/env python3 +# -*- coding: UTF-8 -*- + +# ungoogled-chromium-binaries: Concerns prebuilt versions of ungoogled-chromium +# Copyright (C) 2016 ungoogled-software contributors +# +# This file is part of ungoogled-chromium-binaries. +# +# ungoogled-chromium-binaries is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# ungoogled-chromium-binaries is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with ungoogled-chromium-binaries. If not, see . + +''' +Generates the website files +''' + +import pathlib +import configparser +import string +import re +import shutil + +_CONFIG = pathlib.Path("config") +_PAGE_TEMPLATES = _CONFIG / pathlib.Path("page_templates") +_OUTPUT_SUFFIX = ".md" +_INDEX_FRONTPAGE = _PAGE_TEMPLATES / pathlib.Path("index_frontpage" + _OUTPUT_SUFFIX + ".in") +_INDEX_DIRECTORY = _PAGE_TEMPLATES / pathlib.Path("index_directory" + _OUTPUT_SUFFIX + ".in") +_OUTPUT_INDEX = pathlib.Path("index" + _OUTPUT_SUFFIX) +_VERSION_INPUT = _PAGE_TEMPLATES / pathlib.Path("version" + _OUTPUT_SUFFIX + ".in") +_PLATFORMS = _CONFIG / pathlib.Path("platforms") +_VALID_VERSIONS = _CONFIG / pathlib.Path("valid_versions") +_RELEASES = pathlib.Path("releases") +_DISPLAY_NAME = pathlib.Path("display_name") + +# For printing out info and Markdown +_INDENTATION = " " + +_valid_versions = list() + +class PageFileStringTemplate(string.Template): + ''' + Custom string substitution class + + Inspired by + http://stackoverflow.com/questions/12768107/string-substitutions-using-templates-in-python + ''' + + pattern = r""" + {delim}(?: + (?P{delim}) | + _(?P{id}) | + {{(?P{id})}} | + (?P{delim}((?!_)|(?!{{))) + ) + """.format(delim=re.escape("$ungoog"), id=string.Template.idpattern) + +class PlatformVersion: + def __init__(self, config_path, parent): + if not config_path.is_file(): + raise FileNotFoundError(str(config_path)) + self._real_path = config_path + self.path = self._real_path.relative_to(_PLATFORMS).parent / self._real_path.stem + self.parent = parent + self.version = self.path.name + self.display_name = self.version + if not self.version in _valid_versions: + raise ValueError("{} is not a valid version. Directory: {}".format(self.version, str(self.path.parent))) + self.files = dict() + self.note = None + + version_config = configparser.ConfigParser() + version_config.read(str(self._real_path)) + for section in version_config: + if section == "DEFAULT": + continue + elif section.lower() == "config": + for config_attribute in version_config[section]: + if config_attribute.lower() == "note": + self.note = version_config[section][config_attribute] + else: + file_hashes = dict() + url = None + for attribute_key in version_config[section]: + if attribute_key.lower() == "url": + url = version_config[section][attribute_key] + else: + file_hashes[attribute_key.upper()] = version_config[section][attribute_key] + if url is None: + raise ValueError("url is None. Section: {}, Path: {}".format(section, str(self.path))) + self.files[section] = (url, file_hashes) + + def __lt__(self, other): + return self.version < other.version + + def __str__(self): + return "A Version: {}".format(str(self.version)) + + def __repr__(self): + return str(self) + +class PlatformDirectory: + def __init__(self, dir_path, parent): + if not dir_path.is_dir(): + raise NotADirectoryError(str(dir_path)) + self._real_path = dir_path + self.path = self._real_path.relative_to(_PLATFORMS) + self.parent = parent + self.children = list() + self.versions = list() + + with (dir_path / _DISPLAY_NAME).open() as display_name_file: + self.display_name = display_name_file.read().splitlines()[0] + + for config_path in sorted(self._real_path.glob("*.ini"), reverse=True): + self.versions.append(PlatformVersion(config_path, self)) + + def __lt__(self, other): + return self.path < other.path + + def recursively_read_children(self): + for entry in self._real_path.iterdir(): + if entry.is_dir(): + tmp_dir = PlatformDirectory(entry, self) + tmp_dir.recursively_read_children() + self.children.append(tmp_dir) + self.children.sort() + + def __str__(self): + return "Directory: {}".format(str(self.path)) + + def __repr__(self): + return str(self) + +def read_valid_versions(): + with _VALID_VERSIONS.open() as valid_versions_file: + for line in valid_versions_file.read().splitlines(): + if len(line) > 0 and not line.startswith("#"): + _valid_versions.append(line) + _valid_versions.sort() + +def read_config(): + root_dir = PlatformDirectory(_PLATFORMS, None) + root_dir.name = _RELEASES.name + root_dir.recursively_read_children() + return root_dir + +def preorder_traversal(root_dir, include_versions=False): + stack = list() + stack.append(root_dir) + while len(stack) > 0: + directory = stack.pop() + yield directory + if include_versions: + for version in directory.versions: + yield version + for child in sorted(directory.children, reverse=True): + stack.append(child) + +def print_config(root_dir): + for node in preorder_traversal(root_dir, include_versions=True): + for i in range(len(node.path.parts)): + print(_INDENTATION, end="") + print(node.display_name, end="") + if isinstance(node, PlatformDirectory): + print() + elif isinstance(node, PlatformVersion): + indentation_amt = len(node.path.parts) + if node.note: + print(" (HAS NOTE)") + else: + print() + for filename in sorted(node.files): + for i in range(indentation_amt + 1): + print(_INDENTATION, end="") + print(filename) + else: + print("Unknown node ", node) + +def _get_node_weburl(node): + # Hacky + return "/" + _RELEASES.name + "/" + "/".join(node.path.parts) + +def _write_frontpage_index(root_dir): + target_path = _OUTPUT_INDEX + + download_markdown = str() + + for node in preorder_traversal(root_dir): + if node == root_dir: + continue + for i in range(len(node.path.parts) - 1): + download_markdown += _INDENTATION + download_markdown += "* [{}]({})".format(node.display_name, _get_node_weburl(node)) + if len(node.versions) > 0: + download_markdown += ": [{}]({})".format(node.versions[0].version, _get_node_weburl(node.versions[0])) + download_markdown += "\n" + + page_subs = dict( + latest_downloads=download_markdown + ) + with _INDEX_FRONTPAGE.open() as input_file: + content = PageFileStringTemplate(input_file.read()).substitute(**page_subs) + with target_path.open("w") as output_file: + output_file.write(content) + +def _write_directory_index(directory_node): + target_path = _RELEASES / directory_node.path / _OUTPUT_INDEX + + markdown_urls = list() + current_node = directory_node + while not current_node is None: + markdown_urls.insert(0, "[{}]({})".format(current_node.display_name, _get_node_weburl(current_node))) + current_node = current_node.parent + + versions_list_markdown = str() + if len(directory_node.versions) > 0: + versions_list_markdown = "## Available versions\n\n" + for version in directory_node.versions: + versions_list_markdown += "* [{}]({})\n".format(version.version, _get_node_weburl(version)) + + directory_list_markdown = str() + if len(directory_node.children) > 0: + directory_list_markdown = "## Subgroupings\n\n" + for subdirectory in directory_node.children: + directory_list_markdown += "* [{}]({})\n".format(subdirectory.display_name, _get_node_weburl(subdirectory)) + + page_subs = dict( + current_path=" / ".join(markdown_urls), + versions_list=versions_list_markdown, + directory_list=directory_list_markdown + ) + with _INDEX_DIRECTORY.open() as input_file: + content = PageFileStringTemplate(input_file.read()).substitute(**page_subs) + with target_path.open("w") as output_file: + output_file.write(content) + +def _write_version_page(version_node): + target_path = _RELEASES / version_node.path.parent / (version_node.version + _OUTPUT_SUFFIX) + + display_names = list() + current_node = version_node.parent + while not current_node.parent is None: + display_names.insert(0, current_node.display_name) + current_node = current_node.parent + + markdown_urls = list() + current_node = version_node + while not current_node is None: + markdown_urls.insert(0, "[{}]({})".format(current_node.display_name, _get_node_weburl(current_node))) + current_node = current_node.parent + + if not version_node.note is None: + note_markdown = version_node.note + else: + note_markdown = str() + + download_list_markdown = str() + for filename in sorted(version_node.files.keys()): + url, hashes = version_node.files[filename] + download_list_markdown += "* [{}]({})\n".format(filename, url) + for hashname in sorted(hashes.keys()): + download_list_markdown += _INDENTATION + "* {}: `{}`\n".format(hashname, hashes[hashname]) + + page_subs = dict( + version=version_node.version, + display_name=" - ".join(display_names), + current_path=" / ".join(markdown_urls), + note=note_markdown, + download_list=download_list_markdown + ) + with _VERSION_INPUT.open() as input_file: + content = PageFileStringTemplate(input_file.read()).substitute(**page_subs) + with target_path.open("w") as output_file: + output_file.write(content) + +def write_website(root_dir): + if _RELEASES.exists(): + if not _RELEASES.is_dir(): + raise NotADirectoryError("The releases directory is not a directory") + shutil.rmtree(str(_RELEASES)) + + for node in preorder_traversal(root_dir, include_versions=True): + if isinstance(node, PlatformDirectory): + (_RELEASES / node.path).mkdir() + _write_directory_index(node) + elif isinstance(node, PlatformVersion): + _write_version_page(node) + else: + print("Unknown node ", node) + + _write_frontpage_index(root_dir) + +if __name__ == "__main__": + read_valid_versions() + + root_dir = read_config() + + print_config(root_dir) + write_website(root_dir)