├── .ci └── ci.sh ├── .eslintrc.json ├── .github └── workflows │ └── deploy.yml ├── .gitignore ├── .pentex └── std.H.tex ├── LICENSE ├── README.md ├── azure-pipelines.yml ├── build.sh ├── config.toml ├── content ├── LICENSE ├── _index.md ├── _index.zh.md ├── aosc-os │ ├── _index.md │ ├── _index.zh.md │ ├── aosa │ │ ├── _index.md │ │ ├── _index.zh.md │ │ ├── archive-2017.md │ │ ├── archive-2018.md │ │ ├── archive-2019.md │ │ └── archive-2020.md │ ├── devices │ │ ├── _index.md │ │ ├── _index.zh.md │ │ ├── apple │ │ │ ├── _index.md │ │ │ ├── _index.zh.md │ │ │ └── macmini9-1 │ │ │ │ ├── _index.zh.md │ │ │ │ └── installation.zh.md │ │ └── raspberrypi │ │ │ ├── 4b │ │ │ ├── _index.md │ │ │ ├── _index.zh.md │ │ │ ├── configuration.md │ │ │ ├── configuration.zh.md │ │ │ ├── installation.md │ │ │ ├── installation.zh.md │ │ │ ├── troubleshooting.md │ │ │ └── troubleshooting.zh.md │ │ │ ├── _index.md │ │ │ └── _index.zh.md │ ├── information │ │ ├── _index.md │ │ ├── _index.zh.md │ │ ├── arch-support.md │ │ ├── fs-hierarchy.md │ │ └── fs-hierarchy.zh.md │ ├── installation │ │ ├── _index.md │ │ ├── _index.zh.md │ │ ├── livekit.md │ │ ├── livekit.zh.md │ │ ├── manual │ │ │ ├── _index.md │ │ │ ├── _index.zh.md │ │ │ ├── amd64-notes-kvm.md │ │ │ ├── amd64-notes-kvm.zh.md │ │ │ ├── amd64-notes-softraid.md │ │ │ ├── amd64-notes-softraid.zh.md │ │ │ ├── amd64-notes-trails.md │ │ │ ├── amd64-notes-trails.zh.md │ │ │ ├── amd64.md │ │ │ ├── amd64.zh.md │ │ │ ├── arm-mac-m1.zh.md │ │ │ ├── arm-raspberry-pi.md │ │ │ ├── arm-raspberry-pi.zh.md │ │ │ ├── powermac.md │ │ │ ├── powermac.zh.md │ │ │ └── zfs-root.md │ │ ├── rawimgs.md │ │ ├── rawimgs.zh.md │ │ ├── sysreq │ │ │ ├── _index.md │ │ │ └── _index.zh.md │ │ ├── wsl.md │ │ └── wsl.zh.md │ ├── is-aosc-os-right-for-me.md │ ├── is-aosc-os-right-for-me.zh.md │ └── retro │ │ ├── _index.md │ │ ├── _index.zh.md │ │ ├── intro.md │ │ ├── intro.zh.md │ │ └── rationale.md ├── community │ ├── _index.md │ ├── _index.zh.md │ ├── aosc-membership-checklist.md │ ├── aosc-membership-checklist.zh.md │ ├── aoscc │ │ ├── 2016.md │ │ ├── 2017.md │ │ ├── 2017.zh.md │ │ ├── 2018.md │ │ ├── 2019-hotel.md │ │ ├── 2019.md │ │ ├── 2019.zh.md │ │ ├── 2020.md │ │ ├── 2020.zh.md │ │ ├── 2021.md │ │ ├── 2021.zh.md │ │ ├── 2022.md │ │ ├── 2022.zh.md │ │ ├── 2023.md │ │ ├── 2023.zh.md │ │ ├── 2024-guide.zh.md │ │ ├── 2024-map-large.jpg │ │ ├── 2024-map-small.jpg │ │ ├── 2024.zh.md │ │ ├── 2025.zh.md │ │ ├── _index.md │ │ └── _index.zh.md │ ├── crowdsourcing │ │ ├── _index.md │ │ ├── _index.zh.md │ │ ├── anan-tongtong-sticker-pack.md │ │ ├── anan-tongtong-sticker-pack.zh.md │ │ ├── aoscc-2021-sticker-set.md │ │ ├── aoscc-2021-sticker-set.zh.md │ │ ├── aoscc-2023-funds.md │ │ ├── aoscc-2023-funds.zh.md │ │ ├── aoscc-2024-funds.md │ │ ├── aoscc-2024-funds.zh.md │ │ ├── buildbot-upgrades-20231031.md │ │ ├── buildbot-upgrades-20231031.zh.md │ │ ├── epyc-22333-upgrade-2023.md │ │ ├── epyc-22333-upgrade-2023.zh.md │ │ ├── hk-repo.md │ │ ├── hk-repo.zh.md │ │ ├── hpe-microserver-gen10p.md │ │ ├── hpe-microserver-gen10p.zh.md │ │ ├── loongarch-build-server-ssd.md │ │ ├── loongarch-build-server-ssd.zh.md │ │ ├── loongson-3c5000-server-parts.md │ │ ├── loongson-3c5000-server-parts.zh.md │ │ ├── loongson3-3a5000.md │ │ ├── loongson3-3a5000.zh.md │ │ ├── loongson3-3b4000.md │ │ ├── loongson3-3b4000.zh.md │ │ ├── mac-mini-m1.md │ │ ├── mac-mini-m1.zh.md │ │ ├── new-aarch64-server-parts.md │ │ ├── new-aarch64-server-parts.zh.md │ │ ├── new-amd64-servers.md │ │ ├── new-amd64-servers.zh.md │ │ ├── new-loongson3-3b4000-server.md │ │ ├── new-loongson3-3b4000-server.zh.md │ │ ├── repo-cold-storage.md │ │ ├── repo-cold-storage.zh.md │ │ ├── template.md │ │ └── template.zh.md │ ├── gsoc │ │ ├── 2023-projects.md │ │ └── _index.md │ ├── guidelines.md │ ├── guidelines.zh.md │ ├── history.md │ ├── history.zh.md │ ├── mascot │ │ ├── _index.md │ │ ├── _index.zh.md │ │ ├── origin-story-tyson.md │ │ └── origin-story-tyson.zh.md │ ├── ospp │ │ ├── 2020-community-enroll.zh.md │ │ ├── 2020-projects.zh.md │ │ ├── 2021-community-enrol.md │ │ ├── 2021-community-enrol.zh.md │ │ ├── 2021-projects.md │ │ ├── 2021-projects.zh.md │ │ ├── 2022-projects.md │ │ ├── 2022-projects.zh.md │ │ ├── 2023-projects.md │ │ ├── 2023-projects.zh.md │ │ ├── _index.md │ │ ├── _index.zh.md │ │ └── rfc-management-guidelines.zh.md │ ├── privacy-policy.md │ └── springcon │ │ ├── 2024.md │ │ ├── 2024.zh.md │ │ ├── _index.md │ │ └── _index.zh.md ├── developer │ ├── _index.md │ ├── _index.zh.md │ ├── automation │ │ ├── _index.md │ │ ├── _index.zh.md │ │ ├── aoinb-builder.md │ │ ├── apml.md │ │ ├── design-rfcs-and-progression.md │ │ ├── packaging-metadata-syntax.md │ │ └── packaging-metadata-syntax.zh.md │ ├── infrastructure │ │ ├── _index.md │ │ ├── _index.zh.md │ │ ├── buildbots.md │ │ ├── community-portal.md │ │ ├── community-portal.zh.md │ │ ├── contacts.md │ │ ├── errata │ │ │ ├── 00001-security-announcements-mailing-list.md │ │ │ ├── 00001-security-announcements-mailing-list.zh.md │ │ │ ├── _index.md │ │ │ └── _index.zh.md │ │ ├── knowledge-base │ │ │ ├── 00001-how-to-contribute.md │ │ │ ├── 00002-how-to-mirror.md │ │ │ ├── 00002-how-to-mirror.zh.md │ │ │ ├── 00003-repository-migration.md │ │ │ ├── 00003-repository-migration.zh.md │ │ │ ├── _index.md │ │ │ └── _index.zh.md │ │ ├── p-vector.md │ │ ├── p-vector.zh.md │ │ ├── packages-site.md │ │ └── packages-site.zh.md │ ├── minutes │ │ ├── 20200419.md │ │ ├── 20200503.md │ │ ├── 20200510.md │ │ ├── 20200524.md │ │ ├── 20200531.md │ │ ├── 20200614.md │ │ ├── 20200705.md │ │ ├── 20200911.md │ │ ├── 20200920.md │ │ ├── 20210207.md │ │ ├── 20210321.md │ │ ├── 20210329.md │ │ ├── 20210704.md │ │ ├── 20211121.md │ │ ├── 20220402.md │ │ ├── 20220410.md │ │ ├── 20220424.md │ │ ├── 20220515.md │ │ ├── 20220522.md │ │ ├── 20220605.md │ │ ├── 20220612.md │ │ ├── 20220703.md │ │ ├── 20220709.md │ │ ├── 20220807.md │ │ ├── 20220828.md │ │ ├── 20220911.md │ │ ├── 20221127.md │ │ ├── 20221210.md │ │ ├── 20230129.md │ │ ├── 20230204.md │ │ ├── 20230212.md │ │ ├── 20230218.md │ │ ├── 20230304.md │ │ ├── 20230402.md │ │ ├── 20230408.md │ │ ├── 20230415.md │ │ ├── 20230514.md │ │ ├── 20230521.md │ │ ├── 20230527.md │ │ ├── 20230604.md │ │ ├── 20230611.md │ │ ├── 20230624.md │ │ ├── 20230722.md │ │ ├── 20230729.md │ │ ├── 20230819.md │ │ ├── 20230827.md │ │ ├── 20230903.md │ │ ├── 20230909.md │ │ ├── 20230917.md │ │ ├── 20230923.md │ │ ├── 20231015.md │ │ ├── 20231030.md │ │ ├── 20231119.md │ │ ├── 20231202.md │ │ ├── 20231203.md │ │ ├── 20231216.md │ │ ├── 20231224.md │ │ ├── 20240125.md │ │ ├── 20240225.md │ │ ├── 20240505.md │ │ ├── 20240529.md │ │ ├── 20240602.md │ │ └── _index.md │ ├── notes │ │ ├── _index.md │ │ ├── distro-survey-2022.md │ │ ├── distro-survey-2023.md │ │ └── distro-survey-2024.md │ ├── packaging │ │ ├── _index.md │ │ ├── _index.zh.md │ │ ├── acbs │ │ │ ├── _index.md │ │ │ ├── _index.zh.md │ │ │ ├── api.md │ │ │ ├── appendix.md │ │ │ ├── dx.md │ │ │ ├── install.md │ │ │ ├── install.zh.md │ │ │ ├── intro.md │ │ │ ├── intro.zh.md │ │ │ └── spec_format.md │ │ ├── advanced-techniques.md │ │ ├── advanced-techniques.zh.md │ │ ├── aosc-findupdate.md │ │ ├── aosc-findupdate.zh.md │ │ ├── autobuild3-manual.md │ │ ├── autobuild3-testing-framework.md │ │ ├── autobuild4 │ │ │ ├── _index.md │ │ │ ├── _index.zh.md │ │ │ └── api.md │ │ ├── basics.md │ │ ├── basics.zh.md │ │ ├── buildit-bot.md │ │ ├── buildit-bot.zh.md │ │ ├── ciel-manual.md │ │ ├── cycle-exceptions.md │ │ ├── dotnet.md │ │ ├── dotnet.zh.md │ │ ├── feature-marking-guidelines.md │ │ ├── feature-marking-guidelines.zh.md │ │ ├── hwcaps-packaging-guide.zh.md │ │ ├── known-patch-release-rules.md │ │ ├── maintenance-guidelines.md │ │ ├── maintenance-guidelines.zh.md │ │ ├── new-package-guidelines.md │ │ ├── new-package-guidelines.zh.md │ │ ├── package-styling-manual.md │ │ ├── package-styling-manual.zh.md │ │ ├── qa-issue-codes.md │ │ ├── qa-issue-codes.zh.md │ │ ├── quirks.md │ │ ├── quirks.zh.md │ │ ├── topic-based-maintenance-guideline.md │ │ ├── topic-based-tooling-infra-changes.md │ │ ├── topic-update-manifest.md │ │ ├── topic-update-manifest.zh.md │ │ ├── topic-version-suffix.md │ │ └── topic-version-suffix.zh.md │ ├── projects │ │ └── _index.md │ ├── rfc │ │ ├── _index.md │ │ ├── _index.zh.md │ │ ├── rfc-index.md │ │ └── rfc-index.zh.md │ ├── scriptlets-maintenance-manual.md │ └── scriptlets-maintenance-manual.zh.md ├── meta │ ├── _index.md │ ├── _index.zh.md │ ├── shortcode_showcase.md │ ├── wiki_maintenance_guide.md │ └── wiki_maintenance_guide.zh.md └── software │ ├── 00001-apt-gen-list.md │ ├── 00001-apt-gen-list.zh.md │ ├── 00002-imchooser.md │ ├── 00002-imchooser.zh.md │ ├── 00003-jack-configuration.md │ ├── 00003-jack-configuration.zh.md │ ├── 00004-aoscbootstrap.md │ ├── 00004-aoscbootstrap.zh.md │ ├── _index.md │ ├── _index.zh.md │ ├── firefox │ ├── _index.md │ ├── _index.zh.md │ ├── dark-mode.md │ ├── dark-mode.zh.md │ ├── vaapi.md │ └── vaapi.zh.md │ └── systemd-boot-friend │ └── _index.md ├── pentex.sh ├── sass ├── _article.sass ├── _color.sass ├── _color_dark.sass ├── _components.sass ├── _hack.sass ├── _index.sass ├── _main.sass ├── _typography.sass ├── main-en.sass └── main-zh.sass ├── static ├── .swcrc ├── icons │ ├── LICENSE │ ├── danger.svg │ ├── info.svg │ ├── success.svg │ └── warning.svg ├── img │ ├── aosc.png │ └── build_sh.jpg ├── search.js ├── search.min.js └── zh │ └── 404.html └── templates ├── 404.html ├── anchor-link.html ├── base.html ├── index.html ├── macros.html ├── page.html ├── section.html ├── shortcodes ├── card.html └── section.html ├── software.html ├── softwares.html └── tags ├── list.html └── single.html /.ci/ci.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | ZOLA_VERSION='0.14.0' 3 | 4 | echo 'Installing Zola ...' 5 | wget -q https://github.com/getzola/zola/releases/download/v"$ZOLA_VERSION"/zola-v"$ZOLA_VERSION"-x86_64-unknown-linux-gnu.tar.gz 6 | tar xvf zola-v"$ZOLA_VERSION"-x86_64-unknown-linux-gnu.tar.gz 7 | sudo install -Dvm755 zola /usr/local/bin/ 8 | -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "browser": true, 4 | "es6": true 5 | }, 6 | "extends": "eslint:recommended", 7 | "rules": { 8 | "indent": [ 9 | "error", 10 | 2 11 | ], 12 | "linebreak-style": [ 13 | "error", 14 | "unix" 15 | ], 16 | "quotes": [ 17 | "error", 18 | "single" 19 | ], 20 | "semi": [ 21 | "error", 22 | "always" 23 | ] 24 | } 25 | } -------------------------------------------------------------------------------- /.github/workflows/deploy.yml: -------------------------------------------------------------------------------- 1 | on: 2 | push: 3 | branches: ["*"] 4 | tags: ["*"] 5 | pull_request: 6 | 7 | jobs: 8 | deploy: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - name: Checkout repository 12 | uses: actions/checkout@v4 13 | 14 | - name: Install Zola 15 | run: ./.ci/ci.sh 16 | 17 | - name: Build the pages 18 | run: ./build.sh 19 | 20 | - name: Deploy to website 21 | shell: bash 22 | if: ${{ github.ref == 'refs/heads/master' }} 23 | run: | 24 | mkdir -p ~/.ssh 25 | echo '${{ secrets.KNOWN_HOST_STRING }}' >> ~/.ssh/known_hosts 26 | echo '${{ secrets.KEY_CONTENT }}' > ~/.ssh/id_upload_key 27 | chmod 0600 ~/.ssh/id_upload_key 28 | rsync -rlOvhze "ssh -i ~/.ssh/id_upload_key" --progress public/* 'aosc@${{ secrets.UPLOAD_HOST }}:/srv/aosc-wiki/' 29 | echo "Visit your site at: https://wiki.aosc.io" 30 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | public/ 2 | .dist/ 3 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2011-2020 Anthon Open Source Community 4 | 5 | For a list of contributors, see https://github.com/AOSC-Dev/wiki/graphs/contributors 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Wiki 2 | ==== 3 | 4 | This is the source code for everything in AOSC's documentation site, https://wiki.aosc.io/. 5 | If you want to contribute, read the [Wiki Maintainence Guide](https://wiki.aosc.io/meta/wiki-maintenance-guide/) 6 | first. 7 | -------------------------------------------------------------------------------- /azure-pipelines.yml: -------------------------------------------------------------------------------- 1 | trigger: 2 | - master 3 | 4 | pool: 5 | vmImage: 'ubuntu-latest' 6 | 7 | steps: 8 | - task: InstallSSHKey@0 9 | inputs: 10 | knownHostsEntry: '$(UPLOAD_HOST) ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBGan/F63NCg5xLo6ooCWfHoXfaDw4mDFwZC/0kMdgsBrwxjyI6sjWexdWDz1pntsHbXjoc4jMOqoU9ZIyk26NE8=' 11 | sshPublicKey: 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAUiF8B79DhQdFagc6zg+5VgWeSIXFWYYn/fTE7ltt8J aosc@aosc' 12 | sshPassphrase: '$(KEY_PASSWD)' 13 | sshKeySecureFile: 'upload_key' 14 | condition: ne(variables['Build.Reason'], 'PullRequest') 15 | 16 | - bash: ./.ci/ci.sh 17 | displayName: 'Install Zola' 18 | 19 | - bash: ./build.sh 20 | displayName: 'Build the pages' 21 | 22 | - bash: "rsync -rlOvhze ssh --progress public/* 'upload@$(UPLOAD_HOST):/srv/aosc-wiki/' && echo \"Visit your site at: https://wiki.aosc.io\"" 23 | displayName: 'Upload the files' 24 | condition: and(ne(variables['Build.Reason'], 'PullRequest'), succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master')) 25 | -------------------------------------------------------------------------------- /build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -e 2 | echo 'Generating HTML files...' 3 | zola build 4 | echo '... Done' 5 | -------------------------------------------------------------------------------- /config.toml: -------------------------------------------------------------------------------- 1 | base_url = "/" 2 | compile_sass = true 3 | build_search_index = true 4 | 5 | description = "Do in the Know" 6 | 7 | taxonomies = [ 8 | {name = "tags"}, 9 | ] 10 | 11 | [languages.zh] 12 | build_search_index = false 13 | taxonomies = [ 14 | {name = "tags", lang = "zh"}, 15 | ] 16 | 17 | [markdown] 18 | highlight_code = true 19 | 20 | [extra] 21 | logo = "/img/aosc.png" 22 | logo_text = "Wiki" 23 | 24 | [languages.en.translations] 25 | title = "AOSC Wiki" 26 | index_page = "Index" 27 | zh = "简体中文" 28 | en = "English" 29 | description = "Do in the Know" 30 | search_placeholder = "Search AOSC Wiki" 31 | also_available_in = "Also available in:" 32 | on_this_wiki = "On this Wiki:" 33 | subsecs_in_this_sec = "Subsections in this section:" 34 | contents_in_this_section = "Contents in this section:" 35 | on_this_page = "On This Page" 36 | categories = "Categories:" 37 | footer_msg = "Unless specified, works on this wiki are licensed under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/?ref=chooser-v1)." 38 | info = "Info" 39 | warning = "Warning" 40 | danger = "Danger" 41 | success = "Success" 42 | 43 | [languages.zh.translations] 44 | title = "AOSC 文档" 45 | index_page = "主页" 46 | en = "English" 47 | zh = "简体中文" 48 | description = "致知而行" 49 | search_placeholder = "搜索 AOSC Wiki" 50 | also_available_in = "其他语言:" 51 | on_this_wiki = "章节:" 52 | subsecs_in_this_sec = "子章节:" 53 | contents_in_this_section = "本章内容:" 54 | on_this_page = "本页内容" 55 | categories = "类别:" 56 | footer_msg = "除非另行声明,此 Wiki 的内容采用 [知识共享署名 4.0 国际许可协议](https://creativecommons.org/licenses/by/4.0/) 进行许可。" 57 | info = "信息" 58 | warning = "警告" 59 | danger = "危险" 60 | success = "成功" 61 | -------------------------------------------------------------------------------- /content/LICENSE: -------------------------------------------------------------------------------- 1 | Unless specified, all contents inside this Wiki is licensed under CC BY 4.0. To view a copy of this license, visit https://creativecommons.org/licenses/by/4.0 -------------------------------------------------------------------------------- /content/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "AOSC Wiki" 3 | insert_anchor_links = "right" 4 | +++ 5 | 6 | Welcome to the AOSC Community Wiki! 7 | 8 | > This is where all documentations, information, and guides will gather for users and developers alike. Please refer to the sections and links below for frequently accessed information, and use the search function to locate your specific topics. 9 | 10 | If you would like to improve this Wiki, please take a look at our [Wiki Maintenance Guide](@/meta/wiki_maintenance_guide.md) in the [AOSC Wiki Meta](@/meta/_index.md) section. Then, you may contribute your articles and edits to the `master` branch of our [AOSC-Dev/wiki](https://github.com/AOSC-Dev/wiki) repository. 11 | 12 | {% section(name="AOSC OS") %} 13 | [Is AOSC OS Right for Me?](/aosc-os/is-aosc-os-right-for-me) 14 | Finding Your Best Fit (or Not) 15 | 16 | [Installation Guides](/aosc-os/installation/) 17 | Installing AOSC OS on Your Device 18 | 19 | [AOSC OS/Retro](/aosc-os/retro/intro) 20 | Enjoying AOSC OS on Your Retro Devices 21 | 22 | [Software](/software/) 23 | Find information about how to use software provided by AOSC OS 24 | {% end %} 25 | 26 | 27 | {% section(name="Community") %} 28 | [AOSC Inter-Personal Guidelines (Long Term RFC)](/community/guidelines/) 29 | A Guide of References for Your Happy Stay 30 | 31 | [AOSC: Our History](/community/history) 32 | Our History Since November 2011 33 | {% end %} 34 | 35 | 36 | {% section(name="Developer") %} 37 | [Packaging for AOSC OS](/developer/packaging/) 38 | Adding your favourite application to AOSC OS's main repository 39 | 40 | [Automation](/developer/automation/) 41 | On-going effort to automate AOSC OS maintenance and quality assurance 42 | {% end %} 43 | 44 | {% section(name="Infrastructure") %} 45 | [Buildbots](/developer/infrastructure/buildbots/) 46 | Public Build Servers for AOSC OS Maintainers 47 | {% end %} 48 | -------------------------------------------------------------------------------- /content/_index.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "AOSC Wiki" 3 | insert_anchor_links = "right" 4 | +++ 5 | 6 | 欢迎来到安同开源社区(AOSC)维基! 7 | 8 | > 这里是面向用户与开发者的所有文档、信息和指南的汇总。请根据以下的章节和链接访问最常用的信息,并善用搜索功能。 9 | 10 | 如果您愿意帮助我们,欢迎您为我们的 [AOSC-Dev/wiki](https://github.com/AOSC-Dev/wiki) 储存库的 `master` 分支贡献提交。为了提高效率,在贡献前烦请阅读 [Meta](@/meta/_index.zh.md) 板块的 [维基维护指南](@/meta/wiki_maintenance_guide.zh.md)。 11 | 12 | {% section(name="AOSC OS") %} 13 | [AOSC OS 适合我吗?](/zh/aosc-os/is-aosc-os-right-for-me) 14 | 找到最适合您的(或者反之) 15 | 16 | [安装指南](/zh/aosc-os/installation/) 17 | 在您的机器上安装 AOSC OS 18 | 19 | [AOSC OS/Retro](/zh/aosc-os/retro/intro) 20 | 照顾您的旧式设备和低性能设备 21 | 22 | [应用程序](/zh/software/) 23 | 了解如何使用 AOSC OS 为您提供的各式应用 24 | {% end %} 25 | 26 | 27 | {% section(name="社区") %} 28 | [AOSC 人际关系准则(长期征求意见稿)](/zh/community/guidelines/) 29 | 心里装着别人才是真正的快乐 30 | 31 | [AOSC:我们的历史](/zh/community/history) 32 | 我们自 2011 年 11 月以来的历史 33 | {% end %} 34 | 35 | 36 | {% section(name="开发者") %} 37 | [为 AOSC OS 打包](/zh/developer/packaging/) 38 | 将您最喜欢的应用程序添加到 AOSC OS 软件仓库 39 | 40 | [自动化](/zh/developer/automation/) 41 | 正在推进中的 AOSC OS 自动化维护和质量保障工作 42 | {% end %} 43 | 44 | {% section(name="基础设施") %} 45 | [打包服务器](/developer/infrastructure/buildbots/) 46 | 为 AOSC OS 维护者准备的公用打包服务器 47 | {% end %} 48 | -------------------------------------------------------------------------------- /content/aosc-os/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "AOSC OS" 3 | description = "It just works™" 4 | insert_anchor_links = "right" 5 | +++ 6 | 7 | AOSC OS is our main project at the community, a general-purposed Linux Distribution designed with simplicity, localisation, software compatibility, device sustainability, and gradual refinement in mind. 8 | 9 | - [Is AOSC OS Right for Me?](@/aosc-os/is-aosc-os-right-for-me.md) 10 | - [AOSC OS and AOSC OS/Retro Architecture Support Matrix](@/aosc-os/information/arch-support.md) 11 | - [Installation Guides](@/aosc-os/installation/_index.md) 12 | 13 | If you are wondering what to do with your ancient device, we got you covered! Checkout [AOSC OS/Retro](@/aosc-os/retro/intro.md) project, which aims to provide a modern Linux experience on some retro devices. 14 | 15 | Other useful resources: 16 | 17 | - [AOSC OS Security Advisories (AOSA)](@/aosc-os/aosa/_index.md) covers how AOSC handles security vulnerabilities and contains past security advisories. 18 | - [Information](@/aosc-os/information/_index.md) covers some design choices and system information. 19 | -------------------------------------------------------------------------------- /content/aosc-os/_index.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "AOSC OS" 3 | description = "It just works™" 4 | insert_anchor_links = "right" 5 | +++ 6 | 7 | AOSC OS 是社区的主要项目。它是一个遵循简约、本地化、包容、可持续及精制的设计原则的通用 Linux 发行版。 8 | 9 | - [AOSC OS 适合我吗?](@/aosc-os/is-aosc-os-right-for-me.zh.md) 10 | - [AOSC OS 及 AOSC OS/Retro 架构支持表](@/aosc-os/information/arch-support.md) 11 | - [安装指南](@/aosc-os/installation/_index.md) 12 | 13 | 想为您的旧式设备或低性能设备寻找一个合适的发行版?试试我们的 [AOSC OS/Retro](@/aosc-os/retro/intro.zh.md) 项目吧,我们正致力于为这些设备提供稳定流畅而不失现代的使用体验。 14 | 15 | 其它的一些实用链接和资源: 16 | 17 | - [AOSC OS 安全公告(AOSA)](@/aosc-os/aosa/_index.zh.md)为您展示了我们对安全和漏洞的响应办法,以及按年份存档的已经发布的安全公告。 18 | - [资料库](@/aosc-os/information/_index.md) 记录了我们在设计 AOSC OS 的过程中作出的一些抉择。 19 | -------------------------------------------------------------------------------- /content/aosc-os/aosa/_index.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "AOSC OS 安全公告系统 (AOSA)" 3 | description = "跟踪 AOSC OS 中发现的安全漏洞 " 4 | date = 2020-08-02T14:17:30.417Z 5 | insert_anchor_links = "right" 6 | [taxonomies] 7 | tags = ["aosa"] 8 | +++ 9 | 10 | # AOSA? 11 | 12 | AOSC OS 安全公告系统(AOSC OS Security Advisories,简称 AOSA)于 2017 年推出,旨在协助跟踪 AOSC OS 中发现的安全漏洞,并帮助用户了解可用的安全更新,这些更新通常与功能更新和其他错误修复更新混合在一起。 13 | 14 | # 格式和编号 15 | 16 | AOSA 使用一种非常简单的格式,旨在为用户提供清晰明了的通知和指引,如以下示例所示: 17 | 18 | ``` 19 | AOSA-2018-0008: Update WildMIDI to 0.4.2 20 | |----|----|----|-------------------------| 21 | ``` 22 | 23 | - `AOSA-` 仅仅是为了表明这是我们发布的公告,和 Debian 使用的 `DSA-` 和 Arch Linux 使用的 `ASA-` 是类似的。 24 | - `2018-` 用于表明这则公告是哪一年发布的。 25 | - `0008` 用于表明这是这一年发布的第几则公告。 26 | - `Update WildMIDI to 0.4.2` 是开发者为用户提供的建议。 27 | 28 | # 安全公告的发布流程 29 | 30 | 安全公告的发布通常意味着一个安全更新周期的结束。通常,这个周期可以概括为以下的这些流程: 31 | 32 | - 贡献者订阅上游项目和其他 \*nix 发行版的邮件列表(如 `oss-security`),并定期收集安全漏洞信息。 33 | - 然后根据我们自己的软件包树排查安全漏洞(如 [AOSC OS Core](https://github.com/AOSC-Dev/AOSC-os-core) 以及 [AOSC OS ABBS](https://github.com/AOSC-Dev/AOSC-os-abbs) 等等)并判断 AOSC OS 的安全性是否不足(由于缺乏人力,没有对优先级进行分类),随后提交打有 `security` 标签(有时候还会有 `upgrade` 标签)的漏洞报告给这些软件包树的负责人。 34 | - AOSC OS 维护者会检查这些问题,并考虑这个问题影响了哪个更新频道,并用相应的 `to-*` 标记进行标记。 35 | - 如果还没有可用的修复,则会添加一个 `no fix yet` 标记。 36 | - 在其他情况下,它们也可能被标记为 `invalid`、`questions`、`stalled` 等。 37 | - AOSC OS 维护者随后将进行必要的更改以解决安全问题,并测试新软件包的可用性。 38 | - 更新后的软件包将被上传到软件仓库以供用户进行更新。 39 | - AOSC OS 维护者在漏洞报告下附上解决方案并将报告标记为关闭状态(具体可以看 [这个例子](https://github.com/AOSC-Dev/AOSC-os-abbs/issues/1299))。 40 | - 贡献者现在可以使用一个新的 AOSA 编号并发布上面所述的安全公告。 41 | - 通常来说,这些安全公告会被发布在我们的 [邮件列表](mailto:security@lists.aosc.io),并在维基网站上存档(参见 [2019 年的存档](@/aosc-os/aosa/archive-2019.md))。 42 | -------------------------------------------------------------------------------- /content/aosc-os/devices/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "AOSC OS Device Portal" 3 | [extra] 4 | list_section = false 5 | +++ 6 | 7 | [livekit]: @/aosc-os/installation/livekit.md 8 | [rpi-home]: @/aosc-os/devices/raspberrypi/_index.md 9 | [applemac-home]: @/aosc-os/devices/apple/_index.md 10 | [raspberry-pi-4b]: @/aosc-os/devices/raspberrypi/4b/_index.md 11 | [apple-macmini9-1]: @/aosc-os/devices/apple/macmini9-1/_index.zh.md 12 | [downloadpage]: https://aosc.io/downloads/alternative/ 13 | 14 | Here you can find some information about a specific device, including installation instructions, FAQs and troubleshootiong guides. 15 | 16 | ARM64 Devices 17 | ------ 18 | 19 | For ARM64 devices which has UEFI firmware (such devices usually complies with SBSA standard), you can use ARM64 LiveKit to boot your device and install AOSC OS on it. For instructions using LiveKit, please checkout [LiveKit instructions][livekit]. 20 | 21 | ### Table of Devices 22 | 23 | Here is a list of devices supported by our community members. You can either checkout the vendor page or a specific hardware page. 24 | 25 | | Device Name | Vendor | Platform | Device Type | Maintenance Status | Image Download | 26 | | ------ | --------- | ------- | ------ | -------- | -------- | 27 | | [Raspberry Pi 4B][raspberry-pi-4b] | [Raspberry Pi Foundation][rpi-home] | Broadcom BCM2711 | Single Board Computer) | Maintained by community members | Not available | 28 | | [Mac Mini Late 2020 (Macmini9,1)][apple-macmini9-1] | [Apple][applemac-home] | Apple M1 | Mini Desktop | Maintained by community members | Not available | 29 | | Pinebook Pro | Pine64 | Rockchip RK3399 |Laptop | Maintained by community members | [Download Page][downloadpage] | 30 | | Rock64 | Pine64 | Rockchip RK3399 | Single Board Computer) | Maintained by community members | [Download Page][downloadpage] | 31 | -------------------------------------------------------------------------------- /content/aosc-os/devices/_index.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "AOSC OS 设备门户" 3 | [extra] 4 | list_section = false 5 | +++ 6 | 7 | [livekit]: @/aosc-os/installation/livekit.zh.md 8 | [rpi-home]: @/aosc-os/devices/raspberrypi/_index.zh.md 9 | [applemac-home]: @/aosc-os/devices/apple/_index.zh.md 10 | [raspberry-pi-4b]: @/aosc-os/devices/raspberrypi/4b/_index.zh.md 11 | [apple-macmini9-1]: @/aosc-os/devices/apple/macmini9-1/_index.zh.md 12 | [downloadpage]: https://aosc.io/downloads/alternative/ 13 | 14 | 在这里,你可以找到一些针对特定设备撰写的文档,包含安装教程、常见问题以及故障排除指南。 15 | 16 | 17 | # ARM64 设备 18 | 19 | 如果你的 ARM64 设备使用 UEFI 固件,则可以使用 ARM64 架构的 LiveKit 镜像启动设备并安装 AOSC OS。参考[ LiveKit 安装步骤][livekit]。 20 | 21 | 支持的设备列表 22 | ------ 23 | 24 | | 设备名 | 硬件制造商 | 设备平台 | 设备类型 | 维护情况 | 镜像下载 | 25 | | ------ | --------- | ------- | ------ | -------- | ------- | 26 | | [Raspberry Pi 4B][raspberry-pi-4b] | [Raspberry Pi Foundation][rpi-home] | 博通 BCM2711 | 单板计算机(SBC) | 由维护者维护 | 暂不可用 | 27 | | [Mac Mini Late 2020 (Macmini9,1)][apple-macmini9-1] | [Apple][applemac-home] | Apple M1 | 迷你台式主机 | 由维护者维护 | 暂不可用 | 28 | | PineBook Pro | Pine64 | 瑞芯微 RK3399 | 笔记本电脑 | 由维护者维护 | [下载页面][downloadpage] | 29 | | Rock64 | Pine64 | 瑞芯微 RK3399 | 单板计算机(SBC) | 由维护者维护 | [下载页面][downloadpage] | 30 | -------------------------------------------------------------------------------- /content/aosc-os/devices/apple/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Mac Home Page" 3 | insert_anchor_links = "right" 4 | [extra] 5 | list_section = false 6 | +++ 7 | 8 | Welcome to our Mac support page! 9 | 10 | This section is written for Macs equipped with Apple M1 and later chip. 11 | 12 | 13 | Supported Devices 14 | ------ 15 | 16 | Here is a list of devices supported by our community members. You can either checkout the vendor page or a specific hardware page. 17 | 18 | | Name | Device Type | Platform | Maintenance Status | Maintainer | 19 | | --- | --- | --- | --- | --- | 20 | | [Mac Mini Late 2020](@/aosc-os/devices/apple/macmini9-1/_index.zh.md) | Mini Desktop | Apple M1 | Supported | Mag Mell | 21 | 22 | -------------------------------------------------------------------------------- /content/aosc-os/devices/apple/_index.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "苹果 Mac 系列设备主页" 3 | insert_anchor_links = "right" 4 | [extra] 5 | list_section = false 6 | +++ 7 | 8 | 欢迎浏览 AOSC OS Mac 设备文档。 9 | 10 | 该页专为使用了 Apple M1 及其后代芯片的 Mac 设备撰写。 11 | 12 | 受支持的设备 13 | ------ 14 | 15 | 以下是社区受支持的苹果设备。点击设备名可以查看针对该设备的指南。 16 | 17 | | 设备名称 | 设备类型 | 设备平台 | 维护情况 | 维护者 | 18 | | --- | --- | --- | --- | --- | 19 | | [Mac Mini(2020 年末)](@/aosc-os/devices/apple/macmini9-1/_index.zh.md) | 台式主机 | Apple M1 | 受支持 | Mag Mell | 20 | 21 | -------------------------------------------------------------------------------- /content/aosc-os/devices/apple/macmini9-1/_index.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Mac Mini(2020 年末)" 3 | description = "用于 Mac Mini Late 2020 的支持文档" 4 | date = 2021-06-02 5 | [taxonomies] 6 | tags = ["sys-installation"] 7 | +++ 8 | 9 | 10 | # 指南 11 | 12 | - [安装指南](@/aosc-os/devices/apple/macmini9-1/installation.zh.md) 13 | 14 | # 设备简介 15 | 16 | 本页将为你介绍在 Mac Mini Late 2020 上使用 AOSC OS 相关的内容。 17 | 18 | ## 硬件配置 19 | 20 | | 参数 | 配置 | 21 | |---|---| 22 | | CPU | Apple M1(8 核心,3.2 GHz) | 23 | | CPU 架构 | AArch64 | 24 | | RAM | 8 GB 或 16 GB | 25 | | 固件 | iBoot | 26 | 27 | -------------------------------------------------------------------------------- /content/aosc-os/devices/raspberrypi/4b/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Raspberry Pi 4B" 3 | insert_anchor_links = "right" 4 | [extra] 5 | list_section = true 6 | +++ 7 | 8 | Raspberry Pi 4B is a decent SBC from Raspberry Pi Foundation. Like its predecessors, it features a Gigabit Ethernet, four USB ports, a GPIO header, and it's in a typical Raspberry Pi form factor which is just same size as a credit card. 9 | 10 | # Guides 11 | 12 | - [Installation Guide](@/aosc-os/devices/raspberrypi/4b/installation.md) 13 | - [Configuration Guide](@/aosc-os/devices/raspberrypi/4b/configuration.md) 14 | - [Troubleshooting Guide](@/aosc-os/devices/raspberrypi/4b/troubleshooting.md) 15 | 16 | # General Information 17 | 18 | ## Hardware specification 19 | 20 | | Parameter | Spec | 21 | | --- | --- | 22 | | CPU | BCM2837 (Quad Core) at 1.5 GHz | 23 | | CPU Architecture | ARM Cortex A72 (AArch64) | 24 | | RAM | 2, 4 or 8GB | 25 | | SoC | BCM2711 | 26 | | Storage | SDXC, USB Drive | 27 | | USB | 2x USB 3.0, 2x USB 2.0 | 28 | | Ethernet | Gigabit Ethernet (via PCIe) | 29 | -------------------------------------------------------------------------------- /content/aosc-os/devices/raspberrypi/4b/_index.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "树莓派 4B" 3 | insert_anchor_links = "right" 4 | [extra] 5 | list_section = false 6 | +++ 7 | 8 | 树莓派 4B 是一个树莓派基金会开发的强大的单板计算机(SBC)。和它的上一代一样,它有千兆以太网、4 个 USB 接口和标准的树莓派 GPIO 接头,并且保持了树莓派传统的信用卡一样的大小。 9 | 10 | # 指南 11 | 12 | - [安装指南](@/aosc-os/devices/raspberrypi/4b/installation.zh.md) 13 | - [配置指南](@/aosc-os/devices/raspberrypi/4b/configuration.zh.md) 14 | - [故障排除指南](@/aosc-os/devices/raspberrypi/4b/troubleshooting.zh.md) 15 | 16 | # 信息 17 | 18 | ## 硬件配置 19 | 20 | | 参数 | 配置 | 21 | | --- | --- | 22 | | CPU | BCM2837(四核)@ 1.5GHz | 23 | | CPU 架构 | ARM Cortex A72 (AArch64) | 24 | | RAM | 2, 4 或 8GB | 25 | | SoC | BCM2711 | 26 | | 存储 | SDXC 卡及 USB 存储设备 | 27 | | USB | 2x USB 3.0, 2x USB 2.0 | 28 | | 以太网 | 通过 PCIe 连接的千兆以太网卡 | 29 | -------------------------------------------------------------------------------- /content/aosc-os/devices/raspberrypi/4b/troubleshooting.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "树莓派 4B 故障排除指南" 3 | description = "FAQs and troubleshooting guides for Raspberry Pi 4B" 4 | date = 2021-04-14T04:37:11.499Z 5 | [taxonomies] 6 | tags = ["sys-installation"] 7 | 8 | +++ 9 | 10 | # 通用故障排除 11 | 12 | 本节内容将带你逐步排除树莓派的相关问题。 13 | 14 | ## HDMI 接口无输出 15 | 16 | - 移除连接到树莓派上的所有外设、存储,包括 SD 卡。然后将 MicroHDMI 线插入 Type-C 接口旁的 MicroHDMI 口。 17 | - 如果你能看到启动诊断屏幕,则说明树莓派启动正常,请进一步检查操作系统的安装。 18 | - 如果依旧无输出,则请[重新写入 EEPROM 固件](https://www.raspberrypi.org/documentation/hardware/raspberrypi/booteeprom.md)。 19 | 20 | ## 卡在启动诊断屏幕 21 | 22 | 检查你的系统介质是否已经插入,若介质存在,请确认 `start4.elf` 存在并完整。在另一台机器上挂载系统介质,重新安装 `rpi-firmware-boot` 软件包。 23 | 24 | ## 卡在彩虹屏幕 25 | 26 | 这意味着你的树莓派无法找到内核,或者内核损坏无法启动。请检查 `kernel8.img` 或指定的内核文件存在于启动分区的根目录中。内核必须为未压缩的 `Image`。 27 | 28 | 请同时检查 HDMI 接口是否接错。请保持 HDMI 连接在 Type-C 接口旁的 MiniHDMI 接口。第二个 HDMI 接口只有在系统启动之后才可用。 29 | 30 | ## 屏幕左上角有树莓派的标志,其余黑屏 31 | 32 | 如果没有光标闪动,说明内核已经崩溃了。 33 | 34 | 检查 `cmdline.txt`,删除其中的 `quiet` 参数,否则在启动时无法看到内核输出。 35 | 36 | 如果光标依旧在闪动,说明内核依旧在等待根文件系统出现。检查 `cmdline.txt`,确保 `root=` 参数指向了正确的根分区。 37 | 38 | ## 内核崩溃了 (panicked) 39 | 40 | 内核崩溃的原因有很多,具体请观察屏幕提示。以下是几个例子: 41 | 42 | - `VFS: Unable to mount root fs on unknown-block(0,0)`: 43 | 44 | 内核无法定位到根文件系统。检查 `cmdline.txt`,确保 `root=` 参数指向了正确的根分区,并且 `rootwait` 存在。 45 | 46 | - `Attempted to kill init!` 47 | 48 | 初始化程序意外结束。重新安装操作系统可能解决问题。如果你使用 initrd,尝试去掉 initrd 选项。 49 | 50 | ## 性能不佳 51 | 52 | 该问题不应该在 AOSC OS 中出现,因为 AOSC 的树莓派内核使用的是 `ondemand` 调度器。 53 | 54 | 如果你在使用树莓派官方分发的内核,请注意,该内核中 CPU 默认调度器为 `powersave`,它会一直保持你的树莓派运行在最低频率。 55 | 56 | 要设置 CPU 调度器,运行如下命令: 57 | 58 | ``` 59 | sudo cpupower frequency-set -g governor 60 | ``` 61 | 62 | `ondemand` 和 `conservative` 是很好的选择。如果你的散热足够好,考虑使用 `performance` 或者超频。 63 | 64 | 另请参阅 65 | ------ 66 | 67 | - [树莓派文档](https://www.raspberrypi.org/documentation/) 68 | - [树莓派 GitHub](https://github.com/raspberrypi/) 69 | - [eLinux.org 社区文档](https://elinux.org/RPi_Hub) 70 | - [LibreELEC 源码](https://github.com/LibreELEC/LibreELEC.tv) 71 | - [Arch Linux ARM Wiki](https://archlinuxarm.org/wiki/Raspberry_Pi) 72 | -------------------------------------------------------------------------------- /content/aosc-os/devices/raspberrypi/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Raspberry Pi Devices" 3 | insert_anchor_links = "right" 4 | [extra] 5 | list_section = false 6 | +++ 7 | 8 | Here you can learn about how to run AOSC OS for Raspberry Pi devices. 9 | 10 | # About Raspberry Pi 11 | 12 | Raspberry Pi is a series of Single Board Computers developed by Raspberry Pi Foundation. Raspberry Pi gained wide community due to its relatively small form factor (the normal version is just size about a credit card), its open ecosystem and adequate performance. 13 | 14 | # Supported Hardware 15 | 16 | Here is a list of community supported devices. Click the name to checkout the documentation for a device. 17 | 18 | | Name | Type | Platform | Maintenance Status | Maintainer | 19 | | --- | --- | --- | --- | --- | 20 | | [Raspberry Pi 4B](@/aosc-os/devices/raspberrypi/4b/_index.md) | Single Board Computer | Broadcom BCM2711 | Supported | Cinhi Young | 21 | 22 | # Board Support Packages repository 23 | 24 | BSP packages repository is available for all Raspberry Pi devices. Execute following command to add it to your APT source: 25 | 26 | ``` 27 | echo "deb https://repo.aosc.io/debs stable bsp-rpi" | sudo tee /etc/apt/sources.list.d/bsp-rpi.list 28 | sudo apt update 29 | ``` -------------------------------------------------------------------------------- /content/aosc-os/devices/raspberrypi/_index.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Raspberry Pi 设备主页" 3 | insert_anchor_links = "right" 4 | [extra] 5 | list_section = false 6 | +++ 7 | 8 | 在这里可以获取有关在树莓派上运行 AOSC OS 的一些帮助,以及一些与发行版无关的、可能对用户有帮助的信息。 9 | 10 | # 关于树莓派 11 | 12 | 树莓派(Raspberry Pi)是树莓派基金会研发的单板计算机系列。由于它相对较小的大小(普通版只有一张信用卡大小)、开放的生态以及合适的性能,颇受 DIY 爱好者和创客团体青睐。 13 | 14 | # 受支持的设备 15 | 16 | 以下是社区受支持的设备。点击设备名可以查看针对该设备的指南。 17 | 18 | | 设备名称 | 设备类型 | 设备平台 | 维护情况 | 维护者 | 19 | | --- | --- | --- | --- | --- | 20 | | [树莓派 4B](@/aosc-os/devices/raspberrypi/4b/_index.zh.md) | 单板计算机 | 博通 BCM2711 | 受支持 | Cinhi Young | 21 | 22 | 23 | # 单板支持包(BSP)仓库 24 | 25 | 树莓派的 BSP 仓库可能适用于所有树莓派硬件。执行如下命令以将该仓库添加至 APT 软件源: 26 | 27 | ``` 28 | echo "deb https://repo.aosc.io/debs stable bsp-rpi" | sudo tee /etc/apt/sources.list.d/bsp-rpi.list 29 | sudo apt update 30 | ``` 31 | -------------------------------------------------------------------------------- /content/aosc-os/information/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Information" 3 | insert_anchor_links = "right" 4 | [extra] 5 | list_section = true 6 | +++ 7 | -------------------------------------------------------------------------------- /content/aosc-os/information/_index.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "资料库" 3 | insert_anchor_links = "right" 4 | [extra] 5 | list_section = true 6 | +++ 7 | -------------------------------------------------------------------------------- /content/aosc-os/information/fs-hierarchy.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "AOSC OS Filesystem Hierarchy" 3 | description = "AOSC OS Filesystem Hierarchy Specifications" 4 | date = 2020-05-04T03:36:47.545Z 5 | [taxonomies] 6 | tags = ["sys-info"] 7 | +++ 8 | 9 | The filesystem hierarchy used by AOSC OS is based on FHS (Filesystem Hierarchy Standard), version 2.3 - with extra changes made or suggested by Systemd and AOSC OS developers. Only those differentiated from the standard FHS 2.3 specifications will be discussed below. 10 | 11 | For the original FHS 2.3 specifications in HTML, please refer to [here](http://www.pathname.com/fhs/pub/fhs-2.3.html). 12 | 13 | # Symbolic Links 14 | 15 | In AOSC-style filesystem hierarchy, the `/usr/lib` and `/usr/bin` directories serves *all* libraries and executable binaries available: 16 | 17 | - For all ports: `/lib → /usr/lib`. 18 | - For 64-bit ports: `/lib64 → /usr/lib`, `/usr/lib64 → /usr/lib`. 19 | - For all ports: `/bin → /usr/bin`, `/sbin → /usr/bin`, `/usr/sbin → /usr/bin`. 20 | 21 | Two directories in `/var` are also served as symbolic links: 22 | 23 | - `/var/run → /run`, and `/var/lock → /run/lock`. 24 | 25 | Additionally, for 64-bit systems, extra symlinks were made in the: 26 | 27 | - `/usr/lib/64 → /usr/lib64` and `/lib/64 → /usr/lib64`. -------------------------------------------------------------------------------- /content/aosc-os/information/fs-hierarchy.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "AOSC OS 文件系统层次结构" 3 | description = "AOSC OS 文件系统层次结构规范" 4 | date = 2020-05-04T03:36:47.545Z 5 | [taxonomies] 6 | tags = ["sys-info"] 7 | +++ 8 | 9 | AOSC OS 使用的文件系统层次结构大体上遵循 FHS(版本 2.3),仅针对 Systemd 和 AOSC OS 开发者的意见做了小量调整。以下我们会将重点放在我们调整过的地方。如希望阅读 HTML 版本的 FHS 2.3 标准,[请点击这里](http://www.pathname.com/fhs/pub/fhs-2.3.html)。 10 | 11 | # 符号链接 12 | 13 | 在 AOSC OS 文件系统层次结构中,`/usr/lib` 和 `/usr/bin` 目录分别包含所有的库文件和可执行文件: 14 | 15 | - 对于所有系统:`/lib → /usr/lib`。 16 | - 对于 64 位系统:`/lib64 → /usr/lib`,`/usr/lib64 → /usr/lib`。 17 | - 对于所有系统:`/bin → /usr/bin`,`/sbin → /usr/bin`,`/usr/sbin → /usr/bin`。 18 | 19 | `/var` 中的两个目录也用作符号链接。 20 | 21 | - `/var/run → /run`,`/var/lock → /run/lock`。 22 | 23 | 对于 64 位系统,还有: 24 | 25 | - `/usr/lib/64 → /usr/lib64`,`/lib/64 → /usr/lib64`。 -------------------------------------------------------------------------------- /content/aosc-os/installation/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Installing AOSC OS" 3 | +++ 4 | 5 | This page lists installation guides for AOSC OS and AOSC OS/Retro, as well 6 | as system requirements to help you decide whether AOSC OS or AOSC OS/Retro 7 | is suitable for your device. 8 | 9 | LiveKit Installation 10 | ==================== 11 | 12 | For the majority of x86-, PowerPC-, OpenPOWER- and Loongson-based desktop 13 | devices, as well as some AArch64-based devices, AOSC OS and AOSC OS/Retro 14 | could be easily installed with LiveKit. For details on how to make use of 15 | LiveKit, please refer to the following page for details. 16 | 17 | - [Using LiveKit](@/aosc-os/installation/livekit.md) 18 | 19 | Windows Subsystem for Linux 20 | =========================== 21 | 22 | For details on how to install AOSC OS on WSL, please refer to the following 23 | page for details. 24 | 25 | - [Installation/WSL](@/aosc-os/installation/wsl.md) 26 | 27 | Raw System Images 28 | ================= 29 | 30 | For ARM and RISC-V devices which do not make use of (U)EFI boot facilities, 31 | you would want to use device-specific raw system images. The downloads for 32 | which are listed in our 33 | [Alternative Downloads](https://aosc.io/downloads/alternative/) page. 34 | 35 | For instructions on how to write these images, please refer to the 36 | following page for details. 37 | 38 | - [Writing System Images](@/aosc-os/installation/rawimgs.md) 39 | 40 | Manual Installation 41 | =================== 42 | 43 | For uncommon, advanced, and LiveKit-incompatible installation procedures, 44 | please refer to our library of 45 | [manual installation guides](/aosc-os/installation/manual/) for details. 46 | 47 | System Requirements 48 | =================== 49 | 50 | For a list of system requirements for AOSC OS and AOSC OS/Retro, please 51 | refer to our library of [system requirements](/aosc-os/installation/sysreq/) 52 | for details. 53 | -------------------------------------------------------------------------------- /content/aosc-os/installation/_index.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "AOSC OS 安装指南" 3 | +++ 4 | 5 | 本页展示 AOSC OS 及 AOSC OS/Retro 的各式安装指南及系统需求信息,旨在协助您确定 6 | 设备是否适合安装 AOSC OS 或 AOSC OS/Retro 并选择最适合您的安装方式。 7 | 8 | 使用 LiveKit 安装 9 | ================= 10 | 11 | 绝大多数基于 x86, PowerPC, OpenPOWER 及龙芯架构的桌面设备及部分 AArch64 设备 12 | 均可使用 LiveKit 便捷地安装 AOSC OS 及 AOSC OS/Retro。请参见如下页面以 13 | 了解 LiveKit 的用法及典型用途。 14 | 15 | - [LiveKit 用户指南](@/aosc-os/installation/livekit.zh.md) 16 | 17 | Windows Subsystem for Linux 18 | =========================== 19 | 20 | 欲知安装 AOSC OS on WSL 的详情,请参阅如下页面。 21 | 22 | - [Installation/WSL](@/aosc-os/installation/wsl.zh.md) 23 | 24 | 系统镜像 25 | ======== 26 | 27 | 如需为不支持 (U)EFI 启动的 ARM 及 RISC-V 设备安装 AOSC OS 或 AOSC OS/Retro, 28 | 您可能需要从我们的[其他下载](https://aosc.io/zh-cn/downloads/alternative/)页面 29 | 获取针对特定设备的系统镜像。 30 | 31 | 欲知写入系统镜像的具体步骤,请参阅如下页面。 32 | 33 | - [Writing System Images](@/aosc-os/installation/rawimgs.zh.md) 34 | 35 | 手动安装 36 | ======== 37 | 38 | 您可以从我们的[手动安装指南](/zh/aosc-os/installation/manual/)列表查阅针对各式 39 | 特殊或高级配置及不支持 LiveKit 的设备的安装指南。 40 | 41 | 系统需求 42 | ======== 43 | 44 | 欲知 AOSC OS 及 AOSC OS/Retro 各版本的系统需求,请查阅我们的[系统需求](/zh/aosc-os/installation/sysreq/)列表。 45 | -------------------------------------------------------------------------------- /content/aosc-os/installation/manual/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "AOSC OS Manual Installation Guides" 3 | insert_anchor_links = "right" 4 | [extra] 5 | list_section = true 6 | +++ 7 | -------------------------------------------------------------------------------- /content/aosc-os/installation/manual/_index.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "AOSC OS 手动安装指南" 3 | insert_anchor_links = "right" 4 | [extra] 5 | list_section = true 6 | +++ 7 | -------------------------------------------------------------------------------- /content/aosc-os/installation/manual/amd64-notes-softraid.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Installation/AMD64/SoftRAID" 3 | description = "Notes for AOSC OS Installation on Devices with Software RAID Set Up(s)." 4 | date = 2020-05-04T03:36:58.392Z 5 | [taxonomies] 6 | tags = ["sys-installation"] 7 | +++ 8 | 9 | Installing AOSC OS on software-RAID configuration may require extra steps after installing using the [regular installation guide](@/aosc-os/installation/manual/amd64.md). 10 | 11 | # Forenotes 12 | 13 | - Any commands listed below starting with a `# ` means that the commands are run as the `root` user. 14 | 15 | # Extra Initialization RAM Disk Configuration 16 | 17 | A initrd/initramfs is required for a system on an array to boot successfully. Moreover, changes to the `dracut` configuration file is also required for the generated initrd/initramfs to detect your software RAID setup. 18 | 19 | Using your preferred text editor, edit `/etc/dracut.conf`, and add the following lines to the file: 20 | 21 | ```bash 22 | # For MD-RAID support modules 23 | add_dracutmodules+=" mdraid " 24 | # Use generated mdadm.conf 25 | mdadmconf="yes" 26 | ``` 27 | 28 | 29 | And now invoke generation of new initrd(s). 30 | 31 | ``` 32 | # update-initramfs 33 | ``` 34 | 35 | # Extra Kernel Parameters 36 | 37 | Open `/etc/default/grub` with your preferred text editor. On the line starting with `GRUB_CMDLINE_LINUX_DEFAULT`, add `rd.auto rd.auto=1` inside the quotation marks, save the file on exit - and regenerate GRUB configuration. 38 | 39 | ``` 40 | # grub-mkconfig -o /boot/grub/grub.cfg 41 | ``` 42 | 43 | # MDADM Configuration 44 | 45 | Generate mdadm.conf with the following command: 46 | 47 | ``` 48 | # mdadm --detail --scan >> /etc/mdadm.conf 49 | ``` 50 | -------------------------------------------------------------------------------- /content/aosc-os/installation/manual/amd64-notes-softraid.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Installation/AMD64/SoftRAID (简体中文)" 3 | description = "在配置有软件磁盘阵列的设备上安装 AOSC OS" 4 | date = 2020-05-04T03:36:58.392Z 5 | [taxonomies] 6 | tags = ["sys-installation"] 7 | +++ 8 | 9 | 要想在配置有软件磁盘阵列的设备上安装 AOSC OS,在执行完 [常规的安装流程](@/aosc-os/installation/manual/amd64.zh.md) 之后还需要进行一些额外的操作。 10 | 11 | # 注意 12 | 13 | - 所有以 `# ` 开头的命令都需要您使用 `root` 来运行。 14 | 15 | # RAM Disk 初始化配置 16 | 17 | 要成功引导阵列上的系统,我们需要制作 initrd/initramfs 镜像。在此之前,为了能检测到您的软件磁盘阵列,我们需要先对 `dracut` 配置文件进行一些修改。使用您偏好的编辑器编辑 `/etc/dracut.conf`,在文件中加入下面的内容: 18 | 19 | ```bash 20 | # For MD-RAID support modules 21 | add_dracutmodules+=" mdraid " 22 | # Use generated mdadm.conf 23 | mdadmconf="yes" 24 | ``` 25 | 26 | 现在我们来制作 initrd 启动镜像文件: 27 | 28 | ``` 29 | # update-initramfs 30 | ``` 31 | 32 | # 内核参数 33 | 34 | 使用您偏好的编辑器编辑 `/etc/default/grub`,找到带有 `GRUB_CMDLINE_LINUX_DEFAULT` 的一行,在两个引号中间加入 `rd.auto rd.auto=1`,然后重新生成 GRUB 主配置文件 `grub.cfg`: 35 | 36 | ``` 37 | # grub-mkconfig -o /boot/grub/grub.cfg 38 | ``` 39 | 40 | # 配置 MDADM 41 | 42 | 使用下面的命令创建 `mdadm.conf`: 43 | 44 | ``` 45 | # mdadm --detail --scan >> /etc/mdadm.conf 46 | ``` 47 | -------------------------------------------------------------------------------- /content/aosc-os/installation/manual/amd64-notes-trails.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Installation/AMD64/*Trails (简体中文)" 3 | description = "在 Bay Trail 或 Cherry Trail 设备上安装 AOSC OS" 4 | date = 2020-05-04T03:37:03.753Z 5 | [taxonomies] 6 | tags = ["sys-installation"] 7 | +++ 8 | 9 | 请注意 Linux 对 Bay Trail 和 Cherry Trail 设备的支持可以是残废的,也从未达到令人满意的状态)。因此,非必要情况下还是建议您放弃折腾。 10 | 11 | 在这些设备上安装 AOSC OS 的大体流程和在其它 AMD64/x86_64 设备上安装 AOSC OS [基本是一致的](@/aosc-os/installation/manual/amd64.zh.md) 的,但是请注意: 12 | 13 | - 部分基于 eMMC 的设备将 `/dev/mmcblkNpN` 作为储存设备。 14 | - 一些特定的设备需要执行额外的操作。 15 | - 您要做好「AOSC OS 确实在您的设备上跑起来」的心理准备。 16 | 17 | # 注意 18 | 19 | - 所有以 `# ` 开头的命令都需要您使用 `root` 来运行。 20 | - 本文提供的解决方法有一些只适用于特定的设备,请结合实际情况考虑是否采用。 21 | 22 | # 使用 GRUB 引导后系统冻结 23 | 24 | 部分 Bay Trail 设备使用 GRUB 引导后会卡在 `loading initrd...` 不动。解决方法是在启动您的设备时进入启动项选单并选择 "AOSC-GRUB"。 25 | 26 | # KMS 无法在 Dell Venue 8 Pro 工作 27 | 28 | 在 Dell Venue 8 Pro 上,启用 KMS 可能会导致启动过程中出现空白屏幕。虽然您可以在内核参数中指定 `nomodeset` 来解决此问题,但由于没有可用的 KMS,Plasma 和 GNOME 等桌面环境的性能将非常差,触摸屏也将无法正常工作。 29 | 30 | 一个解决方法是编辑 `/etc/default/grub`,找到这样的两行: 31 | 32 | ``` 33 | # Uncomment to disable graphical terminal 34 | #GRUB_TERMINAL_OUTPUT=console 35 | ``` 36 | 37 | 反注释上面提及的第二行,然后生成 GRUB 主配置文件 `grub.cfg`: 38 | 39 | ``` 40 | # grub-mkconfig -o /boot/grub/grub.cfg 41 | ``` 42 | 43 | # 慢动作现象 44 | 45 | 「慢动作」大概率是内核时钟源检测机制导致的,解决方法是编辑 `/etc/default/grub`,找到这样的一行: 46 | 47 | ``` 48 | GRUB_CMDLINE_LINUX_DEFAULT="quiet rw" 49 | ``` 50 | 51 | 将它修改为: 52 | 53 | ``` 54 | GRUB_CMDLINE_LINUX_DEFAULT="quiet rw clocksource=tsc hpet=off" 55 | ``` 56 | 57 | 最后生成 GRUB 主配置文件 `grub.cfg`: 58 | 59 | ``` 60 | # grub-mkconfig -o /boot/grub/grub.cfg 61 | ``` 62 | -------------------------------------------------------------------------------- /content/aosc-os/installation/manual/arm-raspberry-pi.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Installation/ARM*/RaspberryPi" 3 | description = "Installing AOSC OS on Raspberry Pi with ARM64 support" 4 | date = 2020-11-14T12:37:11.499Z 5 | [taxonomies] 6 | tags = ["sys-installation"] 7 | 8 | +++ 9 | 10 | There is a [new article](https://wiki.aosc.io/aosc-os/devices/raspberrypi/4b/installation/) avaliable,so this article is no longer being maintained. 11 | -------------------------------------------------------------------------------- /content/aosc-os/installation/manual/arm-raspberry-pi.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "在树莓派上安装 AOSC OS" 3 | description = "在树莓派上安装 AOSC OS" 4 | date = 2020-11-14T12:37:11.499Z 5 | [taxonomies] 6 | tags = ["sys-installation"] 7 | 8 | +++ 9 | 10 | 11 | 现在有[新的文章](https://wiki.aosc.io/aosc-os/devices/raspberrypi/4b/installation/)可供参考。本文不再提供。 12 | -------------------------------------------------------------------------------- /content/aosc-os/installation/rawimgs.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Installation/ARM*" 3 | description = "Installing AOSC OS on ARMv7/AArch64 Devices" 4 | date = 2020-05-04T03:37:11.499Z 5 | [taxonomies] 6 | tags = ["sys-installation"] 7 | +++ 8 | 9 | There really isn't any set way to install AOSC OS on various kinds of ARM devices, this page serves as a index to guide you to various other guides for specific devices. 10 | 11 | Please refer to our ARM Board Support Package [Wiki](https://github.com/AOSC-Dev/aosc-os-arm-bsps/wiki) for more information on devices that AOSC OS currently supports, and their installation guides. 12 | 13 | # Tarballs? 14 | 15 | All tarballs provided in the [Download](https://aosc.io/downloads/) page comes with a unconfigured mainline Linux Kernel, it will not work on most devices without extra configuration, we use the [aosc-mkrawimg](https://github.com/AOSC-Dev/aosc-mkrawimg) to create device-specific images from them - using shell-based recipes. 16 | 17 | Device-specific RAW images for MicroSD cards and eMMC storage could be found in the same location. 18 | 19 | # Variants and System Requirements 20 | 21 | Currently, the following variants of AOSC OS are available for ARMv7/AArch64 devices/systems. 22 | 23 | ## Bootable 24 | 25 | - Base 26 | - Desktop 27 | - Server 28 | 29 | ## Non-bootable 30 | 31 | - Container 32 | - BuildKit 33 | -------------------------------------------------------------------------------- /content/aosc-os/installation/rawimgs.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Installation/ARM* (简体中文)" 3 | description = "在 ARMv7/AArch64 设备上安装 AOSC OS" 4 | date = 2020-05-04T03:37:11.499Z 5 | [taxonomies] 6 | tags = ["sys-installation"] 7 | +++ 8 | 9 | 在不同的 ARM 设备上安装 AOSC OS 要做的事情是不一样的,请访问我们的 [ARM 设备支持页面](https://github.com/AOSC-Dev/AOSC-os-arm-bsps/wiki) 了解 AOSC OS 当前支持的设备并获取相应的安装指南。 10 | 11 | # Tarball 12 | 13 | [下载页面](https://aosc.io/downloads/) 中提供的所有 Tarball 均附带了未经配置的主线 Linux 内核,如果不对其进行额外的配置,它将无法在大多数设备上运行。我们常用 [aosc-mkrawimg](https://github.com/AOSC-Dev/aosc-mkrawimg) 为特定的设备制作镜像文件。 14 | 15 | 为 MicroSD 卡和 eMMC 存储设备准备的镜像文件可以在同一位置找到。 16 | 17 | # 变种版本及系统要求 18 | 19 | 我们为 ARMv7/AArch64 设备提供了以下几个版本的 AOSC OS。 20 | 21 | ## 可引导 22 | 23 | - Base 24 | - Desktop 25 | - Server 26 | 27 | ## 不可引导 28 | 29 | - Container 30 | - BuildKit 31 | -------------------------------------------------------------------------------- /content/aosc-os/installation/sysreq/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "AOSC OS System Requirements" 3 | insert_anchor_links = "right" 4 | [extra] 5 | list_section = true 6 | +++ 7 | -------------------------------------------------------------------------------- /content/aosc-os/installation/sysreq/_index.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "AOSC OS 系统需求" 3 | insert_anchor_links = "right" 4 | [extra] 5 | list_section = true 6 | +++ 7 | -------------------------------------------------------------------------------- /content/aosc-os/installation/wsl.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Installation/WSL" 3 | description = "Install AOSC OS on WSL" 4 | date = 2021-07-23T22:50:00.00Z 5 | [taxonomies] 6 | tags = ["sys-installation"] 7 | +++ 8 | 9 | # Install WSL 10 | 11 | Please see [Windows Subsystem for Linux Installation Guide for Windows 10](https://docs.microsoft.com/en-us/windows/wsl/install-win10). If you want to run Linux GUI apps, also see [Run Linux GUI apps on the Windows Subsystem for Linux (preview)](https://docs.microsoft.com/en-us/windows/wsl/tutorials/gui-apps). 12 | 13 | # Get AOSC OS on WSL 14 | 15 | It's the easiest way to get AOSC OS on WSL from Microsoft Store. 16 | 17 | English badge 18 | 19 | If you're running a Windows Server or Long-Term Servicing (LTSC) desktop OS SKU that doesn't support Microsoft Store, or your corporate network policies and/or admins to not permit Microsoft Store usage in your environment, you can get AOSC OS on WSL for your architecture from [GitHub Releases](https://github.com/AOSC-Dev/AOSCOSLauncher/releases/latest). Extract all files from the compressed folder, then run Install.ps1 in it. 20 | 21 | # Configure AOSC OS 22 | 23 | Please see [Create a user account and password for your new Linux distribution](https://docs.microsoft.com/en-us/windows/wsl/user-support), AOSC OS also uses apt to manage packages. 24 | -------------------------------------------------------------------------------- /content/aosc-os/installation/wsl.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Installation/WSL(简体中文)" 3 | description = "在适用于 Linux 的 Windows 子系统上安装 AOSC OS" 4 | date = 2021-07-23T22:50:00.00Z 5 | [taxonomies] 6 | tags = ["sys-installation"] 7 | +++ 8 | 9 | # 安装 WSL 10 | 11 | 请参阅[适用于 Linux 的 Windows 子系统安装指南 (Windows 10)](https://docs.microsoft.com/zh-cn/windows/wsl/install-win10)。如果想要运行 Linux GUI 应用程序,也请参阅[在预览版适用于 Linux 的 Windows 子系统 (运行 Linux GUI)](https://docs.microsoft.com/zh-cn/windows/wsl/tutorials/gui-apps)。 12 | 13 | # 获取 AOSC OS on WSL 14 | 15 | 从 Microsoft Store 获取 AOSC OS on WSL 是最简单的方法。 16 | 17 | Chinese badge 18 | 19 | 如果你正在运行不支持 Microsoft Store 的 Windows Server 或长期服务 (LTSC) 桌面操作系统 SKU,或者你的公司网络策略和/或管理员不允许在你的环境中使用 Microsoft Store,你可以从 [GitHub Releases](https://github.com/AOSC-Dev/AOSCOSLauncher/releases/latest) 获取适用于你的体系结构的 AOSC OS on WSL。从压缩的文件夹提取全部文件,然后运行其中的 Install.ps1。 20 | 21 | # 配置 AOSC OS 22 | 23 | 请参阅[为新的 Linux 分发版创建用户帐户和密码](https://docs.microsoft.com/zh-cn/windows/wsl/user-support),AOSC OS 也使用 apt 管理软件包。 24 | -------------------------------------------------------------------------------- /content/aosc-os/is-aosc-os-right-for-me.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "AOSC OS 适合我吗?" 3 | description = "合适的,才是最好的" 4 | date = 2020-07-30T05:42:37.511Z 5 | [taxonomies] 6 | tags = ["sys-info"] 7 | +++ 8 | 9 | {% card(type="info") %} 10 | 本文介绍的是 AOSC OS 主线发行,AOSC OS/Retro 发行的某些设计特性和主线略有不同。欲知关于 AOSC OS/Retro 发行的详情,请参阅 [AOSC OS/Retro 用户及开发者入门](@/aosc-os/retro/intro.zh.md)。 11 | {% end %} 12 | 13 | # AOSC OS? 14 | 15 | AOSC OS 是使用 APT 和 dpkg 包管理,基于 Linux 内核和各类组件独立构建和维护的操作系统。AOSC OS 主要面向有一定 Linux 使用经验的用户,针对个人设备优化体验。此外,AOSC OS 致力于开箱即用、简化系统管理和提供可靠的工作环境。 16 | 17 | AOSC OS 是众多 Linux 发行版中的一员。因此,在选择 Linux 发行版时,您也许苦于“选择困难症”。此文旨在从多方面介绍 AOSC OS,以助您作出选择。 18 | 19 | # 设计理念 20 | 21 | AOSC OS 的设计基于如下目标和理念: 22 | 23 | - 如非必要不切分软件包,即每个应用一个软件包。 24 | - 为不同语言的用户提供良好的开箱体验。 25 | - 对开源和闭源软件一视同仁。 26 | - 重视系统可靠性。 27 | - 在不同架构上提供相近的功能和体验。 28 | 29 | # 优缺点 30 | 31 | 本节介绍 AOSC OS 的优缺点。 32 | 33 | ## 优点 34 | 35 | - 部署快捷,开箱即用。 36 | - 系统管理简单明了。 37 | - 维护者重视技术支持。 38 | - 闭源和商用软件支持良好。 39 | - 多语言支持开箱即用。 40 | - 硬件驱动支持完整。 41 | - 电源管理配置开箱即用。 42 | - 预装针对特定地区的网络连通工具。 43 | - 通过 Wine 提供良好的 Windows 应用支持。 44 | - 各架构体验统一且优化充分。 45 | 46 | ## 缺点 47 | 48 | - 系统比较庞大,相对于其他发行版需要更多存储空间。 49 | - 缺少 multilib 和 multiarch 支持,跨架构开发较为繁琐。 50 | - 软件仓库的规模较小。 51 | - 对第三方商业软件支持有限。 52 | - 维护者人手有限,软件修复和安全更新响应较慢。 53 | - 预装闭源和非自由软件。 54 | 55 | # 适用场景 56 | 57 | 本节介绍 AOSC OS 的适用场景。 58 | 59 | ## 适用本系统的场景 60 | 61 | - 个人和家庭用途。 62 | - 硬件条件较为理想:存储充分且互联网连接较为稳定。 63 | - 对部署简易性有追求且偏好开箱即用的系统。 64 | - 对软件更新速度要求较低。 65 | - 笔记本电脑等能耗和散热性能敏感的设备。 66 | - 您希望参与 AOSC OS 开发。 67 | 68 | ## 不推荐使用本系统的场景 69 | 70 | - 无 Linux 使用和管理经验。 71 | - 对系统轻量化或可定制性有要求。 72 | - 对软件更新的响应速度要求较高。 73 | - 商用或有高可靠性需求的环境。 74 | - 公有云或虚拟服务器等存储成本较高的环境。 75 | - 对非自由软件敏感。 76 | -------------------------------------------------------------------------------- /content/aosc-os/retro/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "AOSC OS/Retro" 3 | insert_anchor_links = "right" 4 | [extra] 5 | list_section = true 6 | +++ 7 | -------------------------------------------------------------------------------- /content/aosc-os/retro/_index.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "AOSC OS/Retro" 3 | insert_anchor_links = "right" 4 | [extra] 5 | list_section = true 6 | +++ 7 | -------------------------------------------------------------------------------- /content/community/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Community" 3 | description = "Tales and community guidelines of AOSC community" 4 | insert_anchor_links = "right" 5 | [extra] 6 | list_section = true 7 | +++ 8 | -------------------------------------------------------------------------------- /content/community/_index.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "社区" 3 | description = "了解安同开源社区的历史、成员、活动以及社群守则" 4 | insert_anchor_links = "right" 5 | [extra] 6 | list_section = true 7 | +++ 8 | -------------------------------------------------------------------------------- /content/community/aosc-membership-checklist.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "AOSC Membership Enrollment Checklist" 3 | description = "Way to become AOSC Member" 4 | date = 2020-05-04T03:35:10.181Z 5 | [taxonomies] 6 | tags = ["community"] 7 | +++ 8 | 9 | Every person, animal, AI, and other lifeforms are welcomed to contribute to our community. You will be considered an AOSC contributor once you made some form of contribution, including but not limited to - AOSC OS packaging, Git commits to AOSC projects, and providing server resources. 10 | 11 | The AOSC contributor status comes with a series of perks. Upon recognition of your contribution, community administrators (for instance, Mingcong Bai <>) will get in touch with details. You will be asked to provide your preferred login name and a preferred name (or your legal name if so desired). If you would like to continue packaging for AOSC, help or manage our servers and infrastructure, you will also need to provide your public key. 12 | 13 | Here we provide a checklist describing the procedures to contributor enrollment: 14 | 15 | - Create a LDAP Account (Xiaoxing Ye <>). 16 | - Create a Mail account (Mingcong Bai <>). 17 | - Create a new people page in GitHub, consult [this guide](@/developer/infrastructure/community-portal.md#add-new-personal-pages) for procedures. 18 | - [Enroll the public key in the GitHub repository](https://github.com/AOSC-Dev/dev-pubkeys) as needed. 19 | - Enroll the public key on the repository server as needed (Xiaoxing Ye <>). 20 | - (Optional) Obtain a freenode [project cloak](https://freenode.net/kb/answer/cloaks) in the form of `aosc/member/`. Please also provide your freenode username (Howard Xiao ). 21 | -------------------------------------------------------------------------------- /content/community/aosc-membership-checklist.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "AOSC 贡献者注册流程" 3 | description = "成为 AOSC 的一分子!" 4 | date = 2020-08-10T12:51:43.226Z 5 | [taxonomies] 6 | tags = ["community"] 7 | +++ 8 | 9 | 我们欢迎任何人为安同开源社区做贡献,一旦做出了某种形式的贡献(包括但不限于为 AOSC OS 打包、在 AOSC 项目的 Git 仓库提创建提交、提供服务器资源等),您将被视为社区的贡献者。 10 | 11 | 成为 AOSC 贡献者后,您将享有一系列权利。在确认您的贡献后,社区管理员(例如,Mingcong Bai <>)将与您取得联系。您将被要求提供您偏好的登录名和昵称。 如果您想继续为 AOSC OS 打包,或维护我们的服务器和基础架构,则还需要提供公共密钥。 12 | 13 | 下面是 AOSC 贡献者注册流程: 14 | 15 | - 创建一个 LDAP 帐号(Xiaoxing Ye <>)。 16 | - 创建一个邮箱帐号(Mingcong Bai <>)。 17 | - 在 GitHub 提交您的个人页面,详见 [这个页面](@/developer/infrastructure/community-portal.md#add-new-personal-pages)。 18 | - 必要时,[将公共密钥添加到 GitHub 仓库](https://github.com/AOSC-Dev/dev-pubkeys)。 19 | - 必要时,将公共密钥添加到软件仓库服务器(Xiaoxing Ye <>)。 20 | - 可选:在 Freenode 上获取一个 `aosc/member/` 格式的 [马甲](https://freenode.net/kb/answer/cloaks)。您可能需要提供您的 Freenode 用户名(Howard Xiao )。 21 | 22 | -------------------------------------------------------------------------------- /content/community/aoscc/2019-hotel.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "AOSCC 2019: Hotel" 3 | description = "" 4 | date = 2020-05-04T03:35:04.386Z 5 | [taxonomies] 6 | tags = ["events"] 7 | +++ 8 | 9 | # 如何提名 10 | 11 | 请在下方《提名列表》章节仿照第一个提案那样创建。 12 | 13 | 交通耗时包含公共交通、驾车两种方式的耗时,以 slash 隔开。均以高德地图为准,单位为分钟,隐含单位。 14 | 15 | # 提名列表 16 | 17 | | 名称 | 平均每晚价格 | 含早餐 | 前往会场交通耗时 | 前往合肥站交通耗时 | 前往合肥南站交通耗时 | 参考链接 | 提名者 | 18 | | --- | --- | --- | --- | --- | --- | --- | --- | 19 | | 合肥中心智选假日酒店 | 264 | True | 28 / 13 | 30 / 12 | 34 / 16 | [link](https://www.ihg.com.cn/holidayinnexpress/hotels/cn/zh/hefei/hfeex/hoteldetail) | @neruthes | 20 | 21 | # 提名结果 22 | 截至 2019 年 5 月 25 日 0:00(UTC+8),只出现了一个提名,所以自动成为钦定选项。 23 | 24 | # AOSCC-2019 合肥中心智选假日酒店入住指南 25 | 26 | 请 07/11、07/12 到达的入住人分别持 46168284、25456725 两个预订号到前台办理入住。 27 | 28 | 在前台办理入住时,前台应持签到确认表,请在自己那一项后方的 Checkbox 一栏打勾(✓)。 29 | 30 | 对酒店方面提供的接待说明如下: 31 | 32 | > 由于每位入住人到店时间均可能有所不同并且存在拼房,原则上前台应按照到店顺序安排入住人到尽可能集中的客房;例如,第 4 位入住人安排在第 2 间客房,第 5 位入住人安排在第 3 间客房;但是,如果双床房入住人列表中成对到店的入住人要求安排在同一间客房,并且在订单范围内仍有未分配的客房,前台应安排一间尚未分配的客房。在客房位置较为分散时,这个策略特别有意义。 33 | 34 | 请 07/11 到达的入住人特别注意,如果到达时间早于 18:00,那么 @Neruthes 可能还没到酒店。这种情况下,酒店前台会要求入住人在银行卡预授权、现金、支付宝、微信支付等支付手段中选择其中之一来支付一定的「押金」。这些「押金」将会在 @Neruthes 到酒店后全部返还,换成 @Neruthes 的信用卡的预授权。 35 | -------------------------------------------------------------------------------- /content/community/aoscc/2020.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "AOSCC 2020" 3 | description = "AOSCC 2020 参会信息及日程安排" 4 | date = 2020-05-05T14:44:16.388Z 5 | [taxonomies] 6 | tags = ["events"] 7 | +++ 8 | 9 | # 参会信息 10 | 11 | - 地点:社区 Discord #general 语音频道([传送门](https://discord.gg/VYPHgt9)) 12 | - 日期:2020 年 9 月 26 - 27 日 (UTC +8) 13 | - 议程大致内容: 14 | - 社区项目进度报告及后续开发流程讨论 15 | - 社区项目作坊及培训活动 16 | 17 | # 日程 18 | 19 | 由于新冠疫情及其他因素影响,本年度 AOSCC 将于线上举行。除参与方式与往年不同外,AOSCC 2020 议程也将被缩短及简化,从三天缩短至两天。其中,第一天(26 日)的议程将于 UTC +8 时间 10 时开始,并于当晚适时结束(见下);第二天以作坊 (Workshop) 活动为主,于早 10 时开始至下午六时结束。社区 Discord #general 语音频道将作为虚拟“会场”,所有议程按下述顺序进行: 20 | 21 | - 日程一律使用 24 小时格式表示时间。 22 | - 形式: 23 | - ACT: Activity(活动) 24 | - DIS: Discussion(讨论) 25 | - LEC: Lecture(讲演) 26 | 27 | ## 第一天(9 月 26 日) 28 | 29 | | 讲者 | 主题 | 时间 | 形式 | 30 | |----------------|---------------------------------------------------------|---------------|------| 31 | | 白铭骢 | 年度总结;AOSC OS:质量保障、代码风格及 Retro 项目 | 10:00 - 11:00 | LEC | 32 | | ^ | 社区吉祥物“安安”介绍会及鸣谢 | 11:00 - 11:30 | LEC | 33 | | Staph | AOSCNet 计划及与现存 Relay 架构的比较 | 11:30 - 12:00 | LEC | 34 | | ~ | 午饭、午休及提问时间 | 12:00 - 14:00 | ACT | 35 | | 刘子兴 | Pakreq/Iter Editor、ACBS/Autobuild3 及 Ciel-rs | 14:00 - 15:00 | LEC | 36 | | AOSC OS 维护组 | 讨论:主题制 (Topic-based) 迭代周期可行性及执行计划讨论 | 15:00 - [^1] | DIS | 37 | 38 | [^1]: 本议程持续至讨论结束为止。 39 | 40 | ## 第二天(9 月 27 日) 41 | 42 | | 讲者 | 标题 | 时间 | 形式 | 43 | |----------------|-------------------------------------------------|---------------|------| 44 | | AOSC OS 维护组 | AOSC OS 软件包构建及维护作坊 | 10:00 - 18:00 | ACT | 45 | 46 | ## 自由活动/消磨时间 47 | 48 | 如有不感兴趣的话题或有其他讨论需要进行,请前往社区 Discord 其他语音/文字频道。 49 | -------------------------------------------------------------------------------- /content/community/aoscc/2024-map-large.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AOSC-Dev/wiki/5d8186fed78ace89ac49e99d6f0dbbef21804e9d/content/community/aoscc/2024-map-large.jpg -------------------------------------------------------------------------------- /content/community/aoscc/2024-map-small.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AOSC-Dev/wiki/5d8186fed78ace89ac49e99d6f0dbbef21804e9d/content/community/aoscc/2024-map-small.jpg -------------------------------------------------------------------------------- /content/community/aoscc/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "AOSCC" 3 | description = "Our annual community-wide gathering" 4 | insert_anchor_links = "right" 5 | +++ 6 | 7 | This is an archive of current and past AOSCC agendas and attendance information. 8 | -------------------------------------------------------------------------------- /content/community/aoscc/_index.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "AOSCC" 3 | description = "社区年度集会" 4 | insert_anchor_links = "right" 5 | +++ 6 | 7 | 本页面用于展示本届及往年 AOSCC 的议程安排及参会信息。 8 | -------------------------------------------------------------------------------- /content/community/crowdsourcing/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Crowdsourcing [RFC]" 3 | +++ 4 | 5 | # Rationale 6 | As outlined in our [Interpersonal Guidelines](@/community/guidelines.md), AOSC does not accept monetary donations as cumulative funds for the community and specific projects. However, as a hobbyist community with no operational funds, we often require financial and material support in the case of significant purchases, especially in terms of computing devices that are crucial for our community projects. Therefore, we accept donations in the form of monetary funds or physical materials (computer cases, power supplies, hard drives, etc.). 7 | 8 | # Further Points of Clarification 9 | + Donations of funds and materials must be directed to specific community projects (for instance, purchasing or upgrading a BuildBot for a specific port of AOSC OS). 10 | + Reimbursements via crowdsourcing is by principle prohibited. All crowdsourcing plans should be sufficiently discussed amongst the community contributors before purchases can be made. 11 | + Donors are to be acknowledged, though not considered a community contributor (who would enjoy certain benefits such as a personal home page at the community portal, Git write access, and an @aosc.io mailbox). However, donors... 12 | - May request access to purchased hardware and services. 13 | - Are to be notified with specific details on future usage, maintenance, and deprecation of devices. 14 | + Crowdsourcing campaigns are considered complete once the proposed amounts are collected, no further donation will be accepted. 15 | + In case of surplus funds, the said funds will are to be partially refunded to the last donors, until the surplus was depleted. 16 | - Should the donors decline their refunds, crowdsourcing campaigns may be adjusted to make use of the excess funds. 17 | + In case of a cancelled crowdsourcing campaign, donors are to be refunded in full. 18 | -------------------------------------------------------------------------------- /content/community/crowdsourcing/_index.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "社区众筹 [RFC]" 3 | +++ 4 | 5 | # 导言 6 | 7 | 根据社区 [《人际关系准则》](@/community/guidelines.md) 的要求,AOSC 不接受作为社区及项目运转资金之用的捐款。但由于我社作为无运作资本的爱好者社群,在为社区项目购置大宗物件(如构建用服务器)时经常需要资金及物质支持。因此,我们接受针对特定项目及购买计划的金钱及物品(如电脑机箱、电源及硬盘等)捐赠。 8 | 9 | # 补充条例 10 | 11 | + 资金及物品捐赠必须用于具体社区项目(例:为 AOSC OS 移植构建或升级构建用服务器)。 12 | + 原则上不允许使用众筹进行报销,所有众筹资料均应现行通过贡献者间充分讨论方能开始采购。 13 | + 社区将鸣谢捐赠者,但捐赠者不会自动成为社区贡献者(后者享受如社区门户上的个人主页、Git 写入访问及 @aosc.io 邮箱等福利)。但捐赠者有如下权利: 14 | - 捐赠者可请求访问其参与众筹的设备及服务。 15 | - 社区将通知捐赠者有关设备后续用途、维护及置换的具体事宜。 16 | + 在所需金额及物品集齐后,众筹项目即认定完成。 17 | + 如筹得额外资金,额外资金将按捐款顺序退还,直到还清为止。 18 | - 如捐款者不接受退款,可根据需要调整众筹内容。 19 | + 如众筹项目被取消,将全额退还捐款予捐赠者。 20 | -------------------------------------------------------------------------------- /content/community/crowdsourcing/anan-tongtong-sticker-pack.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "[COMPLETE] An-an & Tong-tong Stickers Pack" 3 | draft = false 4 | +++ 5 | 6 | # Rationale 7 | 8 | We have commissioned a sticker pack from [五十根炸虾](https://www.mihuashi.com/profiles/571437) to help promote our community mascots. These stickers will be available as chat stickers and used as (parts of) our souvenirs and merchandises. 9 | 10 | # Budget 11 | 12 | The sticker pack was commissioned for a price of CNY 700, with CNY 100 contributed by [Kexy Biscuit](https://github.com/KexyBiscuit) who has already paid the full amount - we are crowdsourcing CNY 600 to reimburse the costs. 13 | 14 | # Timeline 15 | 16 | The sticker pack has already been completed and is already available on Telegram (with publication on other platforms, i.e., QQ and WeChat coming promptly). 17 | 18 | # Participants 19 | 20 | - Kexy Biscuit , commissioner. 21 | -------------------------------------------------------------------------------- /content/community/crowdsourcing/anan-tongtong-sticker-pack.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "[众筹成功] 安安同同贴图包" 3 | draft = false 4 | +++ 5 | 6 | # 导言 7 | 8 | 为宣传我社吉祥物及文化,我们委托画师[五十根炸虾](https://www.mihuashi.com/profiles/571437)设计了一套以安安同同为主角的贴图包。该贴图包将用作各即时通讯平台的表情包及用于社区的各类纪念品及商品。 9 | 10 | # 预算计划 11 | 12 | 本次设计委托共花费 700 元人民币;[Kexy Biscuit(柯晓宇)](https://github.com/KexyBiscuit) 已付款并自愿承担其中 100 元费用)。 13 | 14 | 合计众筹 600 元人民币。 15 | 16 | # 日程计划 17 | 18 | 本贴图包已完成且可用于 Telegram 聊天(其他平台,如 QQ 和微信的表情包将在近期发布)。 19 | 20 | # 负责人 21 | 22 | - Kexy Biscuit ,委托人 23 | -------------------------------------------------------------------------------- /content/community/crowdsourcing/aoscc-2021-sticker-set.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "[COMPLETE] Printing the AOSCC 2021 Sticker Set" 3 | +++ 4 | 5 | This is a proposal to crowdsource the necessary funds to print the AOSCC 2021 Sticker Set. 6 | 7 | # Rationale 8 | 9 | Per community tradition, we have created a new sticker set that includes community logos, memes, and mascots - a set of three pages. 10 | 11 | Due to material change (from paper to PVC to improve quality and durability) and supply chain issues, the price to print this year's community sticker set rised significantly. Stickers will be distributed free-of-cost by request, recipients will pay postage. 12 | 13 | # Budget 14 | 15 | + Sticker Set (CNY 1800) 16 | - Three pages (CNY 600/page) 17 | 18 | # Timeline 19 | 20 | - December 2021: Crowdsourcing. 21 | - End-of-Year 2021: Sticker printing and distribution. 22 | 23 | # Donation Methods 24 | 25 | - Contact Mingcong Bai (see below). 26 | - Via [GitHub Sponsors](https://github.com/sponsors/AOSC-Dev). 27 | 28 | # Contacts 29 | 30 | - Mingcong Bai or Telegram: @JeffBai, procurement contact. 31 | -------------------------------------------------------------------------------- /content/community/crowdsourcing/aoscc-2021-sticker-set.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "[众筹成功] AOSCC 2021 贴纸集印刷费用" 3 | +++ 4 | 5 | 本文为众筹印刷 AOSCC 2021 贴纸集相关费用的计划书。 6 | 7 | # 导言 8 | 9 | 遵照社区传统,我们今年制作了一组包含社区 Logo、梗及吉祥物形象的贴纸集,共三页。 10 | 11 | 由于今年的贴纸材质有变(从纸质改为 PVC 以改善质量和耐久度),且存在供应链问题,今年的贴纸集印刷费用显著提高,故在此筹集资金。资金筹齐后,贴纸集将按需免费分发,收件人付运费。 12 | 13 | # 预算 14 | 15 | + 贴纸集印刷费用(1500 元人民币) 16 | - 共三页(每页 600 元人民币) 17 | 18 | # 日程 19 | 20 | - 2021 年 12 月:筹集相关款项。 21 | - 2021 年底:贴纸印刷、交付及分发。 22 | 23 | # 捐款方式 24 | 25 | - 联系白铭骢(见下)。 26 | - 通过 [GitHub Sponsors](https://github.com/sponsors/AOSC-Dev) 捐款。 27 | 28 | # 参与者 29 | 30 | - 白铭骢 或 Telegram: @JeffBai,采购联系人。 31 | -------------------------------------------------------------------------------- /content/community/crowdsourcing/aoscc-2023-funds.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "[COMPLETE] AOSCC 2023 Budgets" 3 | draft = false 4 | +++ 5 | 6 | # Rationale 7 | 8 | After four long years, AOSCC 2023 is finally returning in-person. To procure souvenirs and lucky draw items, community contributors have or will spend private funds. This crowdsourcing campaign aims to reimburse these spendings. 9 | 10 | # Budget 11 | 12 | Private funds were spent on the following items (all items are in CNY): 13 | 14 | - Lucky Draw: IBM ThinkPad X41, laptops and parts - CNY 1,927 15 | - AOSCC 2023 Sticker Packs, two pages, totalling 200 copies - CNY 1,200 16 | - AOSCC 2023 Tote Bags, totalling 120 pieces - CNY 1,440 17 | - Free sourvenir T-Shirts for guest speakers - CNY 524 18 | 19 | Totals: CNY 5,091 20 | 21 | # Timeline 22 | 23 | All merchandises have been purchased and this campaign is used for reimbursement. 24 | 25 | # Participants 26 | 27 | - Jack Lee:IBM ThinkPad X41 procurement and refurbishment 28 | - Vincent Liang:AOSCC 2023 Sticker Pack printing 29 | - Mingcong Bai: Tote bags and shirts procurement 30 | -------------------------------------------------------------------------------- /content/community/crowdsourcing/aoscc-2023-funds.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "[众筹成功] AOSCC 2023 会务款项" 3 | draft = false 4 | +++ 5 | 6 | # 导言 7 | 8 | 时隔四年,AOSCC 终于在 2023 年再次转入线下聚会的形式。为准备聚会纪念品和抽奖奖品,社区贡献者们垫付了部分款项。本众筹旨在报销这些款项。 9 | 10 | # 预算计划 11 | 12 | 本次 AOSCC 筹备过程中使用款项情况如下: 13 | 14 | - 抽奖奖品:IBM ThinkPad X41 整机及零件,合人民币 1927 元 15 | - AOSCC 2023 贴纸集两版共 200 张,合人民币 1200 元 16 | - AOSCC 2023 编织袋共 120 个,合人民币 1440 元 17 | - 社区外特邀讲者纪念衫共 10 件,合人民币 524 元 18 | 19 | 总计:人民币 5091 元 20 | 21 | # 日程计划 22 | 23 | 所有商品均已订购,本众筹用于报销。 24 | 25 | # 负责人 26 | 27 | - Jack Lee:IBM ThinkPad X41 采购及翻新 28 | - Vincent Liang:AOSCC 2023 贴纸集承印商 29 | - Mingcong Bai:编织袋及纪念衫采购 30 | -------------------------------------------------------------------------------- /content/community/crowdsourcing/aoscc-2024-funds.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "[众筹成功] AOSCC 2024 会务款项(第一轮)" 3 | draft = false 4 | +++ 5 | 6 | # 导言 7 | 8 | AOSCC 2024 线下聚会将于 7 月 13 - 14 日在吉林大学举办。为准备聚会用纪念品及会务材料,社区贡献者们垫付了部分款项。本众筹旨在报销这些款项。 9 | 10 | 本众筹报告报销当前已确定金额的款项,目前仍有部分款项尚未确定具体架构且待众筹。我们将在剩余款项确认后发起第二轮会务款项众筹。 11 | 12 | # 预算计划 13 | 14 | 本次 AOSCC 筹备过程中使用款项情况如下(以下金额货币均为人民币): 15 | 16 | | 款项 | 数量 | 金额小计 | 17 | |-------------------------------------------|--------------------------------------|---------------------------| 18 | | 贴纸 | 200 套,每套 2 张,共 400 张 | 5.3 x 400 = 2120 元 | 19 | | 钥匙串 | 5 款,每款 40 件,共 200 件 | 1.8 x 200 = 360 元 | 20 | | 编织袋 | 2 款,每款 100 件,共 200 件 | 10 x 200 = 2000 元 | 21 | | 讲者 T 恤(仅赠送给非社区贡献者) | 9 人,每人赠送 2 款各 1 件,共 18 件 | 67 x 9 + 59 x 9 = 1134 元 | 22 | | 志愿者工作服 | 18 人,每人 1 件,共 18 件 | 74 x 18 = 1332 元 | 23 | | 名牌 | 共 200 套 | 3 x 200 = 600 元 | 24 | | 矿泉水 | 12 箱 24 瓶装,共 288 瓶 | 26 x 12 = 312 元 | 25 | 26 | 共计:7858 元 27 | 28 | # 日程计划 29 | 30 | 所有商品均已订购,本众筹用于报销。 31 | 32 | # 负责人 33 | 34 | - 白铭骢:编织袋、纪念衫、工作服及贴纸采购 35 | - Kexy Biscuit:钥匙串采购 36 | - TechCiel:名牌及矿泉水采购 37 | - Vincent Liang:AOSCC 2023 贴纸集承印商 38 | -------------------------------------------------------------------------------- /content/community/crowdsourcing/buildbot-upgrades-20231031.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "[COMPLETE] Build Server Upgrades" 3 | draft = false 4 | +++ 5 | 6 | # Rationale 7 | 8 | This crowdsourcing campaign aims to upgrade two of our build servers, "kp920" (AArch64, 24426) and "Stomatapoda" (LoongArch, 27863), to alleviate each of their performance constraints. 9 | 10 | - The scratch disk (buildroots) on kp920 was powered by a mechanical SAS drive, which significantly dragged out Ciel's intensive I/O operations - such as system upgrades and dependency installation. We would like to purchase a SAS SSD for this machine. 11 | - On Stomatapoda, the 16-core Loongson 3C5000 chip was only paired with 32GiB of RAM, which is not sufficient for building some applications without eating deep into the swap space. For instance, building Mozilla Firefox 117.0.1 with LTO enabled required more than 80GiB of RAM. We would like to purchase 128GiB of RAM for this machine. 12 | 13 | # Budget 14 | 15 | - kp920. 16 | - 1 \* HGST Ultrastar SS200, 800GB: CNY 500. 17 | - Stomatapoda. 18 | - 4 \* UniIC S2332GU3200ZG2, 32GiB, DDR4 Registered ECC @ 3200MT/s: CNY 700 * 4 = 2,800. 19 | 20 | Totals: CNY 3,300. 21 | 22 | # Timeline 23 | 24 | Shortly after the completion of this crowdsourcing campaign: 25 | 26 | - The HGST SSD will be purchased and shipped to kp920's host. 27 | - The RAM modules will be procured through Loongson and installed by tomatapoda's host at Loongson Wuhan. 28 | 29 | # Participants 30 | 31 | - Lain Yang , purchase and shipping coordinator. 32 | -------------------------------------------------------------------------------- /content/community/crowdsourcing/buildbot-upgrades-20231031.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "[众筹成功] 构建服务器升级" 3 | draft = false 4 | +++ 5 | 6 | # 导言 7 | 8 | 本众筹项目旨在升级两台社区构建服务器,“kp920”(AArch64, 24426) 及“Stomatapoda”(LoongArch, 27863),以期解决其性能瓶颈: 9 | 10 | - kp920 上的构建盘 (buildroots) 目前为一块 SAS 接口的机械盘,该盘性能问题较大,导致 Ciel 在高强度 I/O 操作(如更新容器系统或安装依赖)时性能严重滞后。为此,我们希望购买一块 SAS 接口的固态硬盘。 11 | - Stomatapoda 上搭载的 16 核龙芯 3C5000 处理器只搭配了 32GiB 内存,在构建某些应用程序时内存严重不足,导致经常使用大量交换空间 (swap space)——如在构建 Mozilla Firefox 117.0.1 时,若打开链接时优化 (LTO),构建过程需要超过 80GiB 的内存。为此,我们希望购买 128GiB 内存。 12 | 13 | # 预算计划 14 | 15 | - kp920 16 | - 1 \* HGST Ultrastar SS200, 800GB:人民币 500 元 17 | - Stomatapoda 18 | - 4 \* 紫光 S2332GU3200ZG2, 32GiB, DDR4 Registered ECC @ 3200MT/s:人民币 700 * 4 = 2800 元 19 | 20 | 总计:人民币 3300 元 21 | 22 | # 日程计划 23 | 24 | 在本众筹项目成功完成后: 25 | 26 | - 将购买上述 HGST 固态硬盘并将其寄往 kp920 的托管方。 27 | - 通过龙芯的采购渠道直接购买上述内存模块并由 Stomatapoda 在龙芯武汉的托管方安装。 28 | 29 | # 负责人 30 | 31 | - Lain Yang :采购负责人 32 | -------------------------------------------------------------------------------- /content/community/crowdsourcing/epyc-22333-upgrade-2023.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "[众筹成功] 升级社区主力 AMD64 编译服务器 (22333)" 3 | draft = false 4 | +++ 5 | 6 | 本文描述升级社区主力 AMD64 编译服务器 (22333) 的计划。 7 | 8 | # 导言 9 | 10 | 在服役超过三年后,我社主力 AMD64 编译服务器出现了性能不足(尤其在 RISC-V 和 MIPS R6 等依赖 Qemu 构建的架构使得 PorterAle 模拟构建服务器负载饱和的情况下)和部件接近使用寿命(作为构建暂存盘的 Intel SSD 750 已写入超过 350TiB,超过厂商标称寿命 100TiB 以上)等情况。考虑到现有 AM4/X570 平台对处理器核心数量和内存容量的制约,我们计划升级平台,以便满足如下主要目标: 11 | 12 | - 通过升级处理器和平台硬件提高构建效能 13 | - 内存扩容,使用内存作为构建暂存盘 (Scratch Disk on RAM) 14 | - 更换 SSD 等寿命耗尽的部件 15 | 16 | # 预算计划 17 | 18 | 本次升级预算预计约 17000 人民币(目前部件报价为 16612.99 人民币,我们将在购置部件后退还余款)。 19 | 20 | + 主要平台部件 21 | - 主板:1 × 技嘉 MZ31-AR0 22 | - 处理器:1 × AMD EPYC 7R32(48 核心,96 线程) 23 | - 内存:16 × 三星 M393A8K40B21-CTC0Q(64GiB,DDR4 2400MT/s Registered ECC;共 1TiB 容量) 24 | + 存储 25 | - 系统及本地源存储:1 × Intel SSD 750 (1.2TB) 26 | + 配件 27 | - 散热器:1 × 金钱豹 (Coolserver) SP3 P42 28 | - 机箱、散热硅脂等 29 | 30 | # 日程计划 31 | 32 | - 2023 年春:多渠道筹款,由 Lain Yang 负责购置(按照上述部件从上到下,在筹集到相应款项即购买;美元捐款使用西联转账至国内账户) 33 | - 2023 年夏:由王江津运输至美国白铭骢家中部署 34 | 35 | # 负责人 36 | 37 | - Lain Yang :采购负责人 38 | - 王江津 :运输大队长 39 | - 白铭骢 : 托管方 40 | -------------------------------------------------------------------------------- /content/community/crowdsourcing/hk-repo.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "[COMPLETE] New Repository Server in Hong Kong" 3 | draft = false 4 | +++ 5 | 6 | # Rationale 7 | 8 | To improve reliability and access performance for our repository server, we plan to deploy a new repository server at [Aperture Internet Laboratory](https://apernet.io/)'s Hong Kong location. The new server will: 9 | 10 | - Be built upon an [ASUS RS700A-E9-RS12V2](https://servers.asus.com/products/Servers/Rack-Servers/RS700A-E9-RS12V2) based on AMD's EPYC 7002 platform. 11 | - Provide much higher computational (AMD Zen2 versus Skylake) and storage performance (NVMe SSDs versus SATA HDDs). 12 | 13 | # Budget 14 | 15 | We would need to purchase the following, in addition to the supplied/sponsored components listed in the sections below, in order to deploy this new repository server: 16 | 17 | - Processors: 2 * AMD EPYC 7282 (16 cores, 32 threads @ 2.8 - 3.2GHz) - CNY ¥460 * 2 = ¥920 18 | - Power Supply: AcBel R1CA2801A @ 800W - CNY ¥220 19 | - Network Interface: Mellanox ConnectX-4 MCX4421A-ACQN (OCP 2.0) @ 25GbE - CNY ¥180 20 | - Cables: 2 * OCuLink to SFF-8611 cables - CNY ¥75 * 2 = 150 21 | 22 | Totals: CNY ¥1,470 23 | 24 | Note: The purchase coordinator will purchase the parts in advance for testing - this crowdsourcing will reimburse his expenses. 25 | 26 | ## Sponsored Components 27 | 28 | The following will be supplied by Apernet Internet Laboratory. 29 | 30 | - Chassis: ASUS RS700A-E9-RS12V2 server chassis (1U) 31 | - RAM: 16 * 16GiB DDR4 modules @ 2133MT/s 32 | - Boot Media: 2 * SATA SSDs 33 | 34 | ## From Contributors 35 | 36 | Contributors will supply the following: 37 | 38 | - Main Storage: 2 * Western Digital SN640 @ 7.68TB 39 | 40 | # Timeline 41 | 42 | We plan to deploy this new repository server in May, 2024. 43 | 44 | # Participants 45 | 46 | - Miao Wang , purchase coordinator and deployment testing. 47 | - Aperture Internet Laboratory, host. 48 | -------------------------------------------------------------------------------- /content/community/crowdsourcing/hk-repo.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "[众筹成功] 位于香港的新软件源服务器" 3 | draft = false 4 | +++ 5 | 6 | # 导言 7 | 8 | 本众筹项目将通过在 [Aperture Internet Laboratory(光圈网络)](https://apernet.io/) 的香港机房部署新软件源服务器提高服务质量和性能;新的服务器: 9 | 10 | - 基于 AMD EPYC 7002 平台的 [华硕 RS700A-E9-RS12V2](https://servers.asus.com/products/Servers/Rack-Servers/RS700A-E9-RS12V2) 机架组装 11 | - 计算性能(AMD Zen2,相对于当前服务器的 Intel Skylake 微架构)和存储性能(NVMe 固态,相对于当前的 SATA 机械硬盘)均更高 12 | 13 | # 预算计划 14 | 15 | 本众筹计划将补齐托管方和贡献者赞助/捐赠的部件以便部署该新服务器: 16 | 17 | - 处理器:2 * AMD EPYC 7282(16 核心,32 线程 @ 2.8 - 3.2GHz)— 460 * 2 = 920 元人民币 18 | - 电源:康舒科技 (AcBel) R1CA2801A @ 800W — 220 元人民币 19 | - 网卡:迈络斯 (Mellanox) ConnectX-4 MCX4421A-ACQN (OCP 2.0) @ 25GbE — 180 元人民币 20 | - 线缆:2 * OCuLink 转 SFF-8611 — 75 * 2 = 150 元人民币 21 | 22 | 总计:1470 元人民币 23 | 24 | 附注:采购负责人将先行购买相关部件进行测试,本众筹项目将报销其花费。 25 | 26 | ## 托管方赞助 27 | 28 | Apernet Internet Laboratory 将赞助如下部件: 29 | 30 | - 机架:华硕 RS700A-E9-RS12V2 server chassis (1U) 31 | - 内存:16 * 16GiB DDR4 模组 @ 2133MT/s 32 | - 启动介质:2 * SATA 固态硬盘 33 | 34 | ## 贡献者捐赠 35 | 36 | 社区贡献者将捐赠如下部件: 37 | 38 | - 主存储:2 * 西部数据 (Western Digital) SN640 @ 7.68TB 39 | 40 | # 日程计划 41 | 42 | 我们计划在 2024 年 5 月完成新服务器的部署工作。 43 | 44 | # 负责人 45 | 46 | - 王邈 :采购负责人及组装测试 47 | - Apernet Internet Laboratory:托管方 48 | -------------------------------------------------------------------------------- /content/community/crowdsourcing/loongarch-build-server-ssd.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "[COMPLETE] Intel 750 SSD for LoongArch Build Server" 3 | draft = false 4 | +++ 5 | 6 | # Rationale 7 | 8 | Recently, Loongson Technologies (Wuhan) sponsored a LoongArch build server 9 | (Relay 27863). However, its scratch disk is a mechanical hard drive, slowing 10 | down builds. This crowdsourcing attempts to fund an (already purchased) Intel 11 | 750 SSD. 12 | 13 | # Budget 14 | 15 | The Intel 750 SSD (800GB) was purchased at the price of 699 CNY. 16 | 17 | # Timeline 18 | 19 | The SSD has already been shipped to Loongson Technology (Wuhan). 20 | 21 | # Participants 22 | 23 | - Lain Yang , purchase and shipping coordinator. 24 | -------------------------------------------------------------------------------- /content/community/crowdsourcing/loongarch-build-server-ssd.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "[众筹成功] 为 LoongArch 构建服务器购买 Intel 750 SSD" 3 | draft = false 4 | +++ 5 | 6 | # 导言 7 | 8 | 近期,龙芯中科武汉公司给我社赞助了一台 LoongArch 构建服务器 (Relay 27863),但构建暂存盘为机械硬盘,性能较差,故计划购买一块二手 Intel 750 SSD。 9 | 10 | 因为目前我们已购买此 SSD,本次众筹的目的是报销此费用。 11 | 12 | # 预算计划 13 | 14 | 此块 800GB 容量的 Intel 750 SSD 价格为 699 人民币。 15 | 16 | # 日程计划 17 | 18 | 目前已收到 SSD 并寄往龙芯中科武汉公司。 19 | 20 | # 负责人 21 | 22 | - Lain Yang :采购负责人 23 | -------------------------------------------------------------------------------- /content/community/crowdsourcing/loongson-3c5000-server-parts.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "[COMPLETE] Loongson 3C5000 Server Parts" 3 | +++ 4 | 5 | This crowdsourcing project aims to fund components and peripherals for a Loongson 3C5000 server build. 6 | 7 | # Rationale 8 | 9 | In December 2024, we received a generous donation of a Loongson 3C5000 motherboard, RAM, and heatsink from [Xinmudotmoe](http://t.me/xm_moe). However, it is still missing parts before it could be hosted and go online. We would like to source funds to complete the purchase of several key components (PSU, SSD, and adaptor), as well as a rackable chassis and rails. 10 | 11 | # Budget 12 | 13 | From [Xinmudotmoe](http://t.me/xm_moe): 14 | 15 | - Motherboard: 1 \* Loongson TC512A0 (Loongson 3C5000) 16 | - RAM: 2 \* 64GiB DDR4 3200 17 | - Heatsink: 1 \* Original 3U-spec heatsink and fan 18 | 19 | To source: 20 | 21 | | Part | Model | Qty | Price | Total | 22 | | --- | --- | :-: | :-: | :-: | 23 | | Power supply | [Super Flower Bronze King 450W](https://detail.tmall.com/item.htm?id=570585371610) | 1 | CNY ¥239 | CNY ¥239 | 24 | | Case | [3U Industrial Rackable Chassis](https://detail.tmall.com/item.htm?id=570585371610) | 1 | CNY ¥315 | CNY ¥315 | 25 | | Rails | [Generic 3U Rail](https://item.taobao.com/item.htm?id=54345568720) | 2 | CNY ¥90 | CNY ¥180 | 26 | | SSD | Intel 750 800GB U.2 (Second Hand) | 1 | CNY ¥240 | CNY ¥240 | 27 | | U.2 to PCIe Adaptor | [Jiayi U.2 to PCIe Adaptor](https://detail.tmall.com/item.htm?id=642746851242) | 1 | CNY ¥39 | CNY ¥39 | 28 | | Total | | 6 | | CNY ¥1113 | 29 | 30 | # Timeline 31 | 32 | - Late December, 2024: Parts purchase and shipment to Loongson (Wuhan), the hosting location. 33 | - Late December, 2024 to early January, 2025: Kaijian Ruan from Loongson builds and deploys the server. 34 | 35 | # Participants 36 | 37 | - Lain Yang , purchase and shipping coordinator. 38 | - Kaijian Ruan from Loongson (Wuhan), server host. 39 | -------------------------------------------------------------------------------- /content/community/crowdsourcing/loongson-3c5000-server-parts.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "[众筹成功] 龙芯 3C5000 服务器部件" 3 | +++ 4 | 5 | 本次众筹旨在购买龙芯 3C5000 服务器的部分部件和外围设备。 6 | 7 | # 导言 8 | 9 | 2024 年 12 月,社区好友 [Xinmudotmoe](http://t.me/xm_moe) 向我社捐赠了一套龙芯 3C5000 主板、处理器、散热器及内存,但要将其部署上线前,仍需购买一部分部件。我们希望通过此次众筹购买目前尚缺的关键组件(电源、固态硬盘及转接板)及机架式机箱和导轨。 10 | 11 | # 预算 12 | 13 | [Xinmudotmoe](http://t.me/xm_moe) 捐赠了如下内容: 14 | 15 | - 主板:1 \* Loongson TC512A0 主板(龙芯 3C5000) 16 | - 内存:2 \* 64GiB DDR4 3200 17 | - 散热器:1 \* 原装 3U 规格散热器 18 | 19 | 仍需购买的部件及价格如下: 20 | 21 | | 部件 | 型号 | 数量 | 单价 | 总计 | 22 | | --- | --- | :-: | :-: | :-: | 23 | | 电源 | [振华铜皇 450W](https://detail.tmall.com/item.htm?id=570585371610) | 1 | 人民币 ¥239 | 人民币 ¥239 | 24 | | 机箱 | [3U 工控机箱(450mm 深)](https://detail.tmall.com/item.htm?id=570585371610) | 1 | 人民币 ¥315 | 人民币 ¥315 | 25 | | 导轨 | [通用 3U 导轨](https://item.taobao.com/item.htm?id=54345568720) | 2 | 人民币 ¥90 | 人民币 ¥180 | 26 | | 固态硬盘| Intel 750 800GB(二手),U.2 接口 | 1 | 人民币 ¥240 | 人民币 ¥240 | 27 | | U.2 至 PCIe 转接板 | [佳翼 U.2 至 PCIe 转接板](https://detail.tmall.com/item.htm?id=642746851242) | 1 | 人民币 ¥39 | 人民币 ¥39 | 28 | | 合计 | | 6 | | 人民币 ¥1113 | 29 | 30 | # 日程规划 31 | 32 | - 2024 年 12 月底:购买零部件并寄往龙芯中科(武汉)机房 33 | - 2024 年 12 月底至次年 1 月初:龙芯方面组装、上架服务器 34 | 35 | # 参与人员 36 | 37 | - Lain Yang ,购置及邮寄联系人 38 | - 阮凯健(龙芯中科武汉分公司),服务器托管 39 | -------------------------------------------------------------------------------- /content/community/crowdsourcing/loongson3-3a5000.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "[COMPLETE] Additional Loongson 3A5000 Relay" 3 | +++ 4 | 5 | This crowdsourcing project aims to fund an additional Loongson 3A5000 device as 6 | a community relay. 7 | 8 | # Rationale 9 | 10 | We plan on kickstarting our `loongarch64` mainline port this summer. While we 11 | already have a Loongson 3A5000 setup (Relay 27001), having just one such device 12 | makes it challenging to maintain and test the port efficiently. 13 | 14 | Therefore, we would appreciate your help in helping us acquire an additional 15 | 3A5000 setup to help getting the port underway. 16 | 17 | # Budget 18 | 19 | + Lemote A2101 motherboard (CNY 3,350). 20 | - Loongson 3A5000 @ 2.5GHz onboard. 21 | - 16GiB of compatible RAM. 22 | - Includes compatible heatsink assemblies. 23 | 24 | # Timeline 25 | 26 | - Early August, 2022: Coordinator to complete purchase. 27 | - Late August, 2022: Server to go online for distribution maintenance. 28 | 29 | # Participants 30 | 31 | - Mag Mell , purchase contact. 32 | - Nyovelt , courier for the board. 33 | - Mingcong Bai , server host. 34 | -------------------------------------------------------------------------------- /content/community/crowdsourcing/loongson3-3a5000.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "[众筹成功] 新增龙芯 3A5000 构建服务器" 3 | +++ 4 | 5 | 因社区维护 `loongarch64` 移植之需要,现众筹购置龙芯 3A5000 设备相关费用。 6 | 7 | # 导言 8 | 9 | 今年暑期,我们希望启动主线 `loongarch64` 移植。虽然我们已有一台 3A5000 设备 (Relay 27001),但仅有一台设备意味着维护及测试该移植会有一定困难。 10 | 11 | 因此,我们希望筹集款项添置一台 3A5000 设备,以便高效地维护和测试这一新移植。 12 | 13 | # 预算 14 | 15 | + Lemote A2101 主板(3,350 元人民币)。 16 | - 板载龙芯 3A5000 @ 2.5GHz。 17 | - 16GiB 内存。 18 | - 含散热器。 19 | 20 | # 日程计划 21 | 22 | - 2022 年八月初:完成购置。 23 | - 2022 年八月底:服务器上线,参与移植维护工作。 24 | 25 | # 参与者 26 | 27 | - Mag Mell ,购置联系人。 28 | - Nyovelt ,携带人。 29 | - 白铭骢 ,设备托管。 30 | -------------------------------------------------------------------------------- /content/community/crowdsourcing/loongson3-3b4000.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "[COMPLETE] Upgrade BuildBot for the Loongson 3 Port" 3 | +++ 4 | 5 | {% card(type="success") %} 6 | Thanks to sponsors listed below, this project has completed. 7 | {% end %} 8 | 9 | This is a proposal to crowdsource a dual Loongson 3B4000 motherboard from Lemote to supplement the current 3A4000 BuildBot (Relay 23869). 10 | 11 | # Rationale 12 | 13 | The current BuildBot for the AOSC OS Loongson 3 port is built and tested on a 3A4000-based server (Lemote LX-1901), which, with only four cores, hardly suffices as a sole BuildBot for distribution maintenance. The significant performance discrepancy when compared to AMD64 and AArch64 BuildBots also makes it difficult to coordinate packaging among our four mainline ports. 14 | 15 | This proposal attempts to improve the computing capacity for the Loongson 3 port with the addition of a dual 3B4000-based system, which, with a total of eight cores (across two processors) can potentially provide double the performance compared to the current BuildBot. 16 | 17 | # Budget 18 | 19 | The following components will be purchased from Lemote: 20 | 21 | + Lemote LX-2510 motherboard (CNY 11,000) 22 | - Dual 3B4000 on board. 23 | - Includes compatible heatsink assemblies. 24 | - Completed, thanks to *MariaBombardier*, *weilinfox*, *LiangYongxiang*, *FlyGoat*, *HenryChen* and other anonymous sponsors. 25 | + 2 × 16GB DIMM (CNY 750 × 2) 26 | - To be purchased from OEM to prevent incompatibility. 27 | - Completed, thanks to *JeffBai*. 28 | 29 | (Plus potential shipping fees) 30 | 31 | The following additional components will be required, but could be crowdsourced (as donation or as funding). 32 | 33 | + Case 34 | - Must be E-ATX compatible. 35 | + Power supply 36 | - ATX Power supply, ~500W. 37 | - Completed, thanks to *PegionFish*. 38 | + Storage 39 | - Ideally NVMe. 40 | - Completed, thanks to *PegionFish*. 41 | 42 | # Current Timeline 43 | 44 | - July 2021: Coordinator to complete purchase, test the board, and transfer ownership to maintainer. 45 | - August 2022: Server to go online for distribution maintenance. 46 | 47 | # Participants 48 | 49 | - Leo Shen , purchase contact. 50 | - KexyBiscuit , BuildBot host. 51 | -------------------------------------------------------------------------------- /content/community/crowdsourcing/loongson3-3b4000.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "[众筹成功] 升级龙芯 3 移植用构建服务器" 3 | +++ 4 | 5 | {% card(type="success") %} 6 | 众筹已完成,设备已转交至托管方。 7 | {% end %} 8 | 9 | 本文为众筹龙梦双路龙芯 3B4000 主板并组装服务器的计划。本服务器将辅佐当前的龙芯 3A4000 构建服务器 (Relay 23869)。 10 | 11 | # 导言 12 | 13 | 当前的 AOSC OS 龙芯 3 移植完全依靠一台 3A4000 构建服务器(龙梦 LX-1901)构建及测试软件包,但该服务器只有四个核心,其计算力远不足以进行日常的发行版维护。此外,因为这台服务器和 AMD64 及 AArch64 构建服务器的性能差异巨大,在构建软件包更新时也会造成计划上的困难。 14 | 15 | 本计划的主要目的是通过组装一台基于双路龙芯 3B4000 服务器提高龙芯 3 移植的计算力,因为双路 3B4000 服务器有八个核心,性能相对 3A4000 理论上可以翻倍。 16 | 17 | # 预算计划 18 | 19 | 计划从龙梦购买如下组件: 20 | 21 | + 龙梦 LX-2510 主板(11000 元) 22 | - 板载双路龙芯 3B4000 处理器。 23 | - 包含散热器。 24 | - **已筹资**,感谢 *MariaBombardier*,*weilinfox*,*LiangYongxiang*, *FlyGoat*, *HenryChen* 和几位匿名赞助者。 25 | + 2 × 16GB 内存(2 × 750 元) 26 | - 计划直接通过龙梦购买以确保兼容性 27 | - **已筹资**,感谢 *JeffBai*。 28 | 29 | (运费另计) 30 | 31 | 此外还需要如下组件,计划通过物品及资金募捐的形式收集: 32 | 33 | + 机箱 34 | - 需兼容 E-ATX 主板。 35 | + 电源 36 | - ATX 规范电源,约 500W 功率。 37 | - **已筹集**,感谢 *PegionFish*。 38 | + 存储 39 | - 优先考虑 NVMe 方案。 40 | - **已筹集**,感谢 *PegionFish*。 41 | 42 | # 日程计划 43 | 44 | - 2021 年 7 月:购置服务器及相关组件,简单测试并转交硬件维护者。 45 | - 2021 年 8 月:服务器上线并应用于发行版维护。 46 | 47 | # 参与者 48 | 49 | - Leo Shen ,购置联系人。 50 | - KexyBiscuit ,设备托管方。 51 | -------------------------------------------------------------------------------- /content/community/crowdsourcing/mac-mini-m1.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "[COMPLETE] Purchase Apple Mac mini M1 as AArch64 Build Server" 3 | +++ 4 | 5 | This is a proposal to crowdsource a Apple Mac mini with M1 SoC to replace the current AArch64 BuildBot located in Guangzhou (Relay 24242, also a Mac mini M1). 6 | 7 | # Rationale 8 | 9 | By purchasing an additional Mac mini M1, we plan to effectively relocate the current AArch64 BuildBot (Relay 24242) to South California, United States of America. By doing so, we expect to see more reliable and faster Internet access, and we will utilise the retired Mac mini M1 in Guangzhou for desktop testing targetting the AArch64 port, and especially for the Apple Silicon platforms. 10 | 11 | # Budget 12 | 13 | + Apple Mac mini with M1 SoC ($798.6 via Apple EPP discount) 14 | - M1 SoC with 8-core CPU and 8-core GPU 15 | - 16GiB of RAM 16 | - 256GiB of NVMe storage 17 | 18 | ## Notes 19 | 20 | - [CodeWeavers](https://www.codeweavers.com/), the creator of the CrossOver software suite based on Wine, partly funds this crowdsource project with a single-time $500 donation. 21 | - You may fund this hardware purchase via our [GitHub Sponsors](https://github.com/sponsors/AOSC-Dev) page, or contact Mingcong Bai (contact information listed below) for alternative payment methods. 22 | 23 | # Timeline 24 | 25 | - November 2021: Receipt of $500 donation from CodeWeavers. 26 | - End-of-Year 2021: Coordinator to complete purchase and deployment. 27 | 28 | # Contacts 29 | 30 | - Mingcong Bai , purchase contact and server host. 31 | -------------------------------------------------------------------------------- /content/community/crowdsourcing/mac-mini-m1.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "[众筹成功] 购买用作 AArch64 构建服务器的 Mac mini M1" 3 | +++ 4 | 5 | 本文为众筹 Mac mini M1 的计划书。这台机器将替代目前托管在广州市的 Mac mini (Relay 24242) 用作 AArch64 构建服务器。 6 | 7 | # 导言 8 | 9 | 该众筹计划将为社区购入第二台 Mac mini M1 并托管在美国加州南部,相比将服务器托管在广州,该地点的网络条件更稳定且带宽更高。而之前托管于广州的 Mac mini M1 将用于 AArch64 平台(尤其是 Apple Silicon 设备)桌面测试。 10 | 11 | # 预算计划 12 | 13 | + 搭载 M1 SoC 的苹果 Mac mini (798.6 美元,通过苹果职工优惠渠道购买) 14 | - Apple Silicon M1 SoC(8 核心处理器,8 核 GPU) 15 | - 16GiB 内存 16 | - 256GiB NVMe 存储 17 | 18 | ## 附注 19 | 20 | - 本次众筹包含来自 CrossOver 套件开发商 [CodeWeaver](https://www.codeweavers.com/) 的 500 美元单次赞助。 21 | - 您可以通过我们的 [GitHub Sponsors](https://github.com/sponsors/AOSC-Dev) 捐赠款项,如需使用其他捐赠方式,请联系白铭骢(联系方式请见页尾)。 22 | 23 | # 日程计划 24 | 25 | - 2021 年 11 月:接收来自 CodeWeavers 的 500 美元捐赠。 26 | - 2021 年底:购置并部署硬件。 27 | 28 | # 参与者 29 | 30 | - 白铭骢 ,购买联系人及托管方。 31 | -------------------------------------------------------------------------------- /content/community/crowdsourcing/new-aarch64-server-parts.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "[COMPLETE] Parts for New AArch64 Build Servers" 3 | +++ 4 | 5 | We plan to deploy two new AArch64 servers donated by friends of the community. However, these servers needs additional components before deployment, this crowdsourcing project will reimburse purchases already made for these servers. 6 | 7 | # Rationale 8 | 9 | Two new AArch64 servers will be deployed later this month as additional build hosts (a Phytium FT2000/64-based server and another with a 64-core Huawei Kunpeng 920 SoC), as Relays 24114 and 24514. We will install the following parts before deployment: 10 | 11 | - Huawei Kungpeng 920 12 | - Scratch disks: Intel 750 @ 800GB * 1 and PCIe-to-U.2 adapter * 1 13 | - PCIe riser 14 | - Phytium FT2000/64 15 | - Scratch disk: Intel 750 @ 800GB * 1 and PCIe-to-U.2 adapter * 1 16 | 17 | # Budget 18 | 19 | + Intel 750 @ 800GB * 2 (500 CNY). 20 | - Used parts with 200TBW (we have one such SSD deployed with > 700TBW, with no issues observed). 21 | - After negotiation, these SSDs were sold at 250 CNY each. 22 | + PCIe riser (450 CNY). 23 | - New parts specific to Huawei Taishan 200 servers. 24 | + PCIe-to-U.2 adapters * 2 (60 CNY). 25 | - New parts, 30 CNY each. 26 | 27 | # Timeline 28 | 29 | - Early August, 2023: Coordinator to complete purchase. 30 | - Late August, 2023: Server to go online for distribution maintenance. 31 | 32 | # Participants 33 | 34 | - Mingcong Bai , purchase coordinator. 35 | - Jack Lee,server host. 36 | -------------------------------------------------------------------------------- /content/community/crowdsourcing/new-aarch64-server-parts.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "[众筹成功] AArch64 构建服务器部件" 3 | +++ 4 | 5 | 社区近期准备上线两台社区捐赠的 AArch64 服务器,但缺少一些零件,故众筹相关零件款项(零件已购买,作报销之用)。 6 | 7 | # 导言 8 | 9 | 我们预计在未来一个月内上线两台 AArch64 服务器(一台飞腾 FT2000/64,一台 64 核心华为鲲鹏 920),预计端口分别为 24114 和 24514。上线这些服务器前,我们需要安装一些零件: 10 | 11 | - 鲲鹏 920 服务器 12 | - 构建盘:Intel 750 @ 800GB * 1 及 PCIe-U.2 转接卡 * 1 13 | - PCIe 扩展卡 14 | - 飞腾 FT2000/64 服务器 15 | - 构建盘:Intel 750 @ 800GB * 1 及 PCIe-U.2 转接卡 * 1 16 | 17 | # 预算 18 | 19 | + Intel 750 @ 800GB * 2(500 元人民币) 20 | - 零件为二手,写入 200TiB 左右(我社有累计写入超过 700TiB 的同型号 SSD,未发生故障) 21 | - 商议后每块价格 250 元人民币 22 | + PCIe 扩展卡(450 元人民币) 23 | - 零件为全新,属于华为泰山 200 服务器专用部件 24 | + PCIe-U.2 转接卡 * 2(60 元人民币) 25 | - 零件为全新 26 | - 每块 30 元人民币 27 | 28 | # 日程计划 29 | 30 | - 2023 年八月初:完成购置 31 | - 2023 年八月底:服务器上线,参与移植维护工作 32 | 33 | # 参与者 34 | 35 | - 白铭骢 ,采购 36 | - Jack Lee,托管方 37 | -------------------------------------------------------------------------------- /content/community/crowdsourcing/new-amd64-servers.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "[COMPLETE] New (x86-64) Build Servers" 3 | draft = false 4 | +++ 5 | 6 | # Rationale 7 | 8 | This crowdsourcing project aims to source components for *four* new AMD64 (x86-64) build servers to help digest our BuildIt! queues. Currently, there are only two (albeit very powerful) available build servers for our `amd64` jobs, we aim to deploy four more to enable more build jobs to run in parallel. 9 | 10 | Of course, our BuildIt! infrastructure will benefit from either a job server or better use of containers and cgroups. However, in any case, more build servers means more redundancy and better overall performance. 11 | 12 | # Budget 13 | 14 | We would like to source the following components: 15 | 16 | - Processors: 4 * AMD Ryzen 7 5700X - 800 * 4 = CNY 3,200 17 | - Motherboards: Gigabyte B450M AORUS Elite - 408 * 4 = CNY 1,632 18 | - Memory: GLOWAY 32GiB DDR4 @ 2666MHz - 285.44 * 12 = CNY 3,425.28 19 | - Cooling: Phanteks Solar S4 - 76.5 * 4 = CNY 306 20 | - Power Supplies: Super Flower Bronze King 450 (450W) - 259 * 4 = CNY 1,036 21 | - Cases: SAMA Xiaozhuque M-ATX Case - CNY 96 22 | 23 | Totals: CNY 9,695.28 24 | 25 | # Donations 26 | 27 | Friends of the community have donated the following to help with this crowdsourcing project: 28 | 29 | - SSDs: 4 * Intel 750 800GB 30 | - Cases: 31 | - 1 * Great Wall K15A (ATX) 32 | - 1 * Huntkey GX760R (ATX) 33 | - 1 * Unnamed (ATX) 34 | 35 | # Timeline 36 | 37 | Shortly after the completion of this crowdsourcing campaign, the new AMD64 build servers will go online and will be used for maintaining AOSC OS for AMD64 (x86-64). 38 | 39 | # Participants 40 | 41 | - Fearyncess "Lain" Yang , purchase coordinator. 42 | - Mingcong Bai , host. 43 | -------------------------------------------------------------------------------- /content/community/crowdsourcing/new-amd64-servers.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "[众筹成功] 新 AMD64 (x86-64) 构建服务器" 3 | draft = false 4 | +++ 5 | 6 | # 导言 7 | 8 | 本众筹项目旨在购买组装**四台**新 AMD64 (x86-64) 所需的组件。这四台新服务器将助力消化安同 OS 的自动化编译任务——当前社区仅有两台(性能极高)的构建服务器用于消化 `amd64` 构建任务,额外部署的服务器将有助于让更多任务并行运行。 9 | 10 | 诚然,我们的 BuildIt! 自动化设施可通过实现 job server 或在现有机器上配置容器及 cgroup 来提高利用率,但更多的服务器意味着 AMD64 能与其他架构一样有较高的容错能力及更高的总体计算性能。 11 | 12 | # 预算计划 13 | 14 | 我们计划采购如下部件: 15 | 16 | - 处理器:4 * AMD Ryzen 7 5700X — 800 * 4,合人民币 3200 元 17 | - 主板:技嘉 B450M AORUS Elite — 408 * 4,合人民币 1632 元 18 | - 内存:光威 32GiB DDR4 @ 2666MHz — 285.44 * 12,合人民币 3425.28 元 19 | - 散热器:追风者 Solar(伯乐)S4 — 76.5 * 4,合人民币 306 元 20 | - 电源:振华铜皇 450 (450W) — 259 * 4,合人民币 1036 元 21 | - 机箱:先马小朱雀 M-ATX 机箱 — 人民币 96 元 22 | 23 | 合计:人民币 9695.28 元 24 | 25 | # 好友捐赠 26 | 27 | 社区好友捐赠了如下部件,将用于本众筹计划: 28 | 29 | - 固态硬盘:4 * Intel 750 800GB 30 | - 机箱: 31 | - 1 * 长城 K15A (ATX) 32 | - 1 * 航嘉 GX760R (ATX) 33 | - 1 * 待定 (ATX) 34 | 35 | # 日程计划 36 | 37 | 在本众筹项目成功完成后,将在近期上线上述 AMD64 构建服务器并将其投入维护工作。 38 | 39 | # 负责人 40 | 41 | - Fearyncess "Lain" Yang , 采购负责人 42 | - 白铭骢 ,托管方 43 | -------------------------------------------------------------------------------- /content/community/crowdsourcing/new-loongson3-3b4000-server.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "[COMPLETE] Components for A New Loongson 3B4000 Build Server" 3 | draft = false 4 | +++ 5 | 6 | # Rationale 7 | 8 | This crowdsourcing project aims to source key components for our new Loongson 3B4000 build server, which will help alleviate performance shortfall of our lone MIPS Loongson build server. In particular, we are requesting support for the case, CPU coolers, and RAM. 9 | 10 | # Budget 11 | 12 | - Case: SAMA Blackhole Pro, CNY 180 13 | - RAM: UniIC SCC16GP02H1F1C-26V (16GiB) * 3, CNY 540 14 | - CPU Coolers: MACOOL MD400H-YL * 2, CNY 95.40 15 | 16 | Totals: CNY 815.40. 17 | 18 | # Timeline 19 | 20 | Shortly after the completion of this crowdsourcing campaign, the new 3B4000 server will go online and will be used for maintaining AOSC OS for MIPS Loongson. 21 | 22 | # Participants 23 | 24 | - Mingcong Bai , purchase coordinator. 25 | - Henry Chen , host. 26 | -------------------------------------------------------------------------------- /content/community/crowdsourcing/new-loongson3-3b4000-server.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "[众筹成功] 新龙芯 3B4000 构建服务器零件" 3 | draft = false 4 | +++ 5 | 6 | # 导言 7 | 8 | 本众筹项目旨在购买组装新龙芯 3B4000 构建服务器所需的关键组件。该服务器将用于环节目前维护 AOSC OS 的 MIPS 龙芯时算力不足的问题(目前我们只有一台 3B4000 服务器)。本项目众筹该服务器使用的机箱、处理器散热器和内存。 9 | 10 | # 预算计划 11 | 12 | - 机箱:先马黑洞 Pro,180 元 13 | - 内存:紫光 SCC16GP02H1F1C-26V (16GiB) * 3,540 元 14 | - 处理器散热器:迈度 MD400H-YL * 2,95.40 元 15 | 16 | 总计:人民币 815.40 元 17 | 18 | # 日程计划 19 | 20 | 在本众筹项目成功完成后,将在近期上线该 3B4000 服务器并投入维护工作。 21 | 22 | # 负责人 23 | 24 | - 白铭骢 :采购负责人 25 | - Henry Chen :托管方 26 | -------------------------------------------------------------------------------- /content/community/crowdsourcing/repo-cold-storage.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "[COMPLETE] Cold Storage HDD for Community Repository" 3 | +++ 4 | 5 | This crowdsourcing project aims to fund the purchase of two hard disk drives to expand the community repository's cold storage. 6 | 7 | # Rationale 8 | 9 | As AOSC OS's software package and system release updates increase in both frequency and volume, the demand for cold storage and backup capacity has grown significantly in more recent times. We are currently running out of space for cold storage (~8TiB) and is in urgent need for more storage capacity. The cold storage contains mostly backups for old system releases and packages can help us record changes in packages and systems for regression testing. 10 | 11 | # Budget 12 | 13 | According to our investigation of the current market, the Western Digital Ultrastar DC HC570 (22TB) has excellent price to capacity ratio (for our price analysis, see [this table](https://kdocs.cn/l/ckvFzk5MYxqc)). We therefore plan to purchase two hard drives of this model to build a RAID1 array (this configuration should be fine for single-site application, as we plan to investigate potential backup solutions). The drives are to be purchased through JD's first-party seller, as the price premium is reasonable (accounting for exactly the 13% VAT) and the drives purchased through this channel has relatively good warranty coverage. 14 | 15 | Kexy Biscuit(柯晓宇)has offered to pay for the 13% VAT difference (we have therefore wrote this budget in accordance with the quote from the Taobao store "南京梵多电子科技", which is exactly JD's quote - 13% VAT). According to the current pricing (Feb. 5, 2025), the budget is as follows: 16 | 17 | - 2 * Western Digital Ultrastar DC HC570: 2 * 2729 = CNY ¥5458. 18 | 19 | # Timeline 20 | 21 | - Early February, 2024: Parts purchase and shipment to Loongson (Wuhan). 22 | - Early February, 2024: Drives to be hooked up to the hosting location's virtualised platform, going online for backups. 23 | 24 | # Participants 25 | 26 | - Kexy Biscuit(柯晓宇), purchase and shipping coordinator. 27 | - Kaijian Ruan from Loongson (Wuhan), server host. 28 | -------------------------------------------------------------------------------- /content/community/crowdsourcing/repo-cold-storage.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "[众筹成功] 软件源源服务器冷存储用硬盘" 3 | +++ 4 | 5 | 本次众筹旨在购买扩容软件源服务器冷存储所用的两枚硬盘。 6 | 7 | # 导言 8 | 9 | 由于安同 OS 软件包和发行更新频率及数据量不断扩张,用于冷存储及备份的存储用量近期显著提高。目前,软件源服务器的冷存储空间已经告急(占用约 8TiB),亟需扩容。冷存储中备份的老系统及软件包可帮助我们记录软件包和系统发行的变化,便利回归测试等场景。 10 | 11 | # 预算 12 | 13 | 根据我们的调研,Western Digital Ultrastar DC HC570 (22TB) 每容量性价比优秀(具体价格比较分析请见[该表](https://kdocs.cn/l/ckvFzk5MYxqc))。因此,我们计划购买两枚该款硬盘组建 RAID1 阵列(该配置对单站点用途较为合适,备份方案另行考虑)。购买渠道选定京东自营,销售渠道溢价不高(13% 税点),且售后政策较为完善。 14 | 15 | Kexy Biscuit(柯晓宇)提出支付 13% 税点差价(众筹预算按淘宝店铺“南京梵多电子科技”报价计算实价,正好为京东自营报价 - 13% 税点),根据当前售价(2025 年 2 月 5 日),具体预算如下: 16 | 17 | - 2 * Western Digital Ultrastar DC HC570: 2 * 2729 = 5458 元人民币 18 | 19 | # 日程规划 20 | 21 | - 2025 年 2 月初:购买零部件并寄往龙芯中科(武汉)机房 22 | - 2025 年 2 月初:硬盘挂接机房虚拟化平台并上线同步备份 23 | 24 | # 参与人员 25 | 26 | - Kexy Biscuit(柯晓宇),购置及邮寄联系人 27 | - 阮凯健(龙芯中科武汉分公司),服务器托管 28 | -------------------------------------------------------------------------------- /content/community/crowdsourcing/template.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "众筹模板 " 3 | draft = true 4 | +++ 5 | 6 | 17 | 18 | # 导言 19 | 20 | 33 | 34 | # 预算计划 35 | 36 | 51 | 52 | # 日程计划 53 | 54 | 68 | 69 | # 负责人 70 | 71 | 83 | -------------------------------------------------------------------------------- /content/community/gsoc/2023-projects.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "GSoC 2023 Projects" 3 | description = "" 4 | date = 2023-01-29 5 | [taxonomies] 6 | tags = ["gsoc"] 7 | +++ 8 | 9 | Welcome! This page outlines our community's GSoC 2023 project. You may pick one and contact the corresponding leader, or you may discuss your interested topic with us in either our [IRC channel][irc], [Telegram group][tg], [Discord server][discord], or [mailing list][mlist]. 10 | 11 | [irc]: ircs://irc.libera.chat:6697/aosc 12 | [tg]: https://t.me/joinchat/BMnG9zvfjCgZUTIAoycKkg 13 | [discord]: https://discord.gg/VYPHgt9 14 | [mlist]: mailto:discussions@aosc.io 15 | 16 | # DeployKit GUI 17 | 18 | Implement the GUI for DeployKit, our AOSC OS installer. This will be done in accordance with our [design mock-up](https://github.com/AOSC-Dev/aoscdk-rs/tree/gui/mockups) 19 | 20 | - Size: Large 21 | - Mentor: Zixing Liu, T.B.D. 22 | - Mentor contact: liushuyu@aosc.io, or Telegram @liushuyu 23 | - Project Requirements: 24 | - Finish GUI in accordance with the design mock-up. 25 | - Implement backend logic. 26 | - Technical Requirements: 27 | - Rust. 28 | - Web-based interface: WRY + Tao. 29 | - Frontend framework: Vue.js + Vite. 30 | - Related Repositories: 31 | - https://github.com/AOSC-Dev/aoscdk-rs 32 | - https://github.com/AOSC-Dev/deploykit-ui 33 | - License: MIT + Apache 2.0 dual license. 34 | -------------------------------------------------------------------------------- /content/community/gsoc/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Google Summer of Code" 3 | sort_by = "date" 4 | [extra] 5 | list_section = true 6 | +++ 7 | -------------------------------------------------------------------------------- /content/community/history.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "AOSC: Our History" 3 | description = "A Brief History of the Anthon Open Source Community" 4 | date = 2020-05-04T03:35:15.633Z 5 | [taxonomies] 6 | tags = ["community"] 7 | +++ 8 | 9 | AOSC was originally founded as Anthon.Dev (Anthon Dev. Team) by Mingcong Bai and his two classmates in late 2011. Following a year of mismanagement, the team was disbanded and refactored as the Anthon Open Source Community in late 2012. 10 | 11 | AOSC OS, the community's main project, was originally known as AnthonOS - an OpenSUSE derivative built with the now defunct SUSE Studio. The OS project was then remade as a Debian derivative focusing on a customised KDE 4 UI and CJK support. 12 | 13 | In 2014, with the help of Icenowy Zheng, developer of the Eastern Heart Linux distribution, the Anthon :Next project was established to rebuild the distribution from scratch. With the rebuild, AnthonOS was renamed as AOSC OS, and has become the general-purpose distribution as we know it today. 14 | 15 | In the following years, AOSC OS expanded its package repostory and scope of arcthitectural support. To this day, AOSC OS continues to diversify its software selection and device support, owing to our developer's dedication. 16 | -------------------------------------------------------------------------------- /content/community/history.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "AOSC:我们的历史" 3 | description = "安同开源社区简史" 4 | date = 2020-05-12T14:13:28.943Z 5 | [taxonomies] 6 | tags = ["community"] 7 | +++ 8 | 9 | 安同开源社区 (AOSC) 的最初形态是由白铭骢与他的两位同学于 2011 年末创立的安同开发团队 (Anthon.Dev)。开发团队因组织管理不善于一年内夭折,而后于 2012 年末重组为开源社区并延续至今。 10 | 11 | 我社的主要项目 AOSC OS 最初名为“安同 OS (AnthonOS)”,一款基于现已弃用的 SUSE Studio 制作的 openSUSE 衍生发行版。一年后又转而基于 Debian 衍生开发,着重于 CJK(中文、日文及韩文)支持并基于 KDE 4 设计了一套定制用户界面。 12 | 13 | 2014 年,得益于原东方之心 Linux 开发者 Icenowy Zheng 的帮助, 社区以 Anthon :Next 为名立项,将安同 OS 转为独立构建。 安同 OS 独立后更名为 AOSC OS,即我社目前维护的通用 Linux 发行版。 14 | 15 | 随后几年,维护者们不断扩充 AOSC OS 的软件源体积,并引入了多架构支持。如今,得力于开发者们的持续贡献,AOSC OS 的软硬件支持仍在不断扩充壮大。 16 | -------------------------------------------------------------------------------- /content/community/mascot/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Mascot" 3 | description = "Community mascot" 4 | insert_anchor_links = "right" 5 | +++ 6 | 7 | > WIP 8 | 9 | Meet An-an, our community mascot. 10 | 11 | > She was born a rabbit, but found herself a girl with bunny ears and tails when she woke up one day. She couldn't seem to remember why. 12 | 13 | ## Introduction and Settings 14 | 15 | - [Introduction](https://aosc.io/mascot/) 16 | - [Origin Story from Tyson (draft)](origin-story-tyson) 17 | -------------------------------------------------------------------------------- /content/community/mascot/_index.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "吉祥物" 3 | description = "社区吉祥物" 4 | insert_anchor_links = "right" 5 | +++ 6 | 7 | > WIP 8 | 9 | 安安是我们社区的吉祥物。 10 | 11 | > 安安本来是只兔子,但有一天早上醒来发现自己变成了长着兔耳和兔尾巴的人类。别的她似乎都记不起来了。 12 | 13 | ## 简介及设定 14 | 15 | - [简介](https://aosc.io/zh/mascot/) 16 | - [钛山提供的背景故事(草稿)](origin-story-tyson) 17 | -------------------------------------------------------------------------------- /content/community/mascot/origin-story-tyson.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "钛山提供的背景故事" 3 | description = "安安:变成人类" 4 | insert_anchor_links = "right" 5 | +++ 6 | 7 | {% card(type="warning") %} 8 | - 此故事绝大部分并不符合社区设定 9 | - 故事中提及的任何机构、组织或个人与安同社区(AOSC)没有任何联系 10 | - 故事有删节 11 | {% end %} 12 | 13 | ## 安安如何拥有的自主意识 14 | 15 | 安安本是某大学医学部精神病学与心理学研究用的实验动物。她是第一批接受某种智力强化药品 16 | 实验的实验对象。该项实验最终以药物无效收场,幸存的动物们被研究人员及其亲属收养。 17 | 然而研究人员没有预料到的是,其实这些动物已经聪明到能伪造实验数据让实验看起来失败了。 18 | 19 | 安安后来被另一所大学的一名学生收养。由于安安可爱而且性格温和,学校人员也默许其在 20 | 计算机科学部门乱窜。而她也在那里学到了不少关于古董计算机的知识,并且她也将学到的知识 21 | 用于帮助人们在一片狼藉的仓库中寻找他们想要的硬件设备上。 22 | 23 | 数年后,安安通过练习从网上找到的一些道家经典,变成了一只兔子精。从此她拥有了变成人类样子的能力。 24 | 用罗小黑的话来说,她是一个金属操纵者,可以进行精准的金属微观操纵。她经常利用自己的能力来修复坏掉的古董硬件。 25 | 26 | ## 和其他角色的联系 27 | 28 | 2016年,安安与[爱理诗•罗塞塔(Alice Rosetta)](https://twitter.com/TysonTanX/status/1223761663612129280?s=19)结识,当时爱理诗正在某航天工程学院访问。 29 | 他们是经由爱理诗的同学[敖雷婷(Ao Lei-ting)](https://twitter.com/TysonTanX/status/1195037920077471749?s=19)介绍认识的。敖雷霆实际上是一个龙魂,同时也是一个水系操纵者。 30 | 31 | 爱理诗有一只白色的兔子,名叫[白云(Cloud)](https://twitter.com/TysonTanX/status/913067589919809536?s=19),是她从小学另一边的中学解剖班里救出来的。 32 | 克劳德只是一只普通的兔子,但它可以用兔子的手势和安安 ~~谈笑风声~~ 进行交流。 33 | 34 | 爱理诗给自己贴上了“科学之子”的标签,根本不相信疑神疑鬼的东西。(因此)安安和敖雷婷在[《电子之心》](https://tysontan.com/electric-hearts-zh/)中只是小配角。 35 | 虽然爱理诗看到了安安和敖雷婷忘记隐藏动物耳朵和尾巴的瞬间,但她认为“只是她看了太多动漫后的幻想”。 36 | -------------------------------------------------------------------------------- /content/community/ospp/2020-community-enroll.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "开源软件供应链点亮计划暑期 2020 社区报名" 3 | description = "" 4 | date = 2020-05-07T03:34:03.772Z 5 | [taxonomies] 6 | tags = ["ospp"] 7 | +++ 8 | 9 | # 社区报名 10 | 11 | - 社区或开源项目名称:安同开源社区(Anthon Open Source Community, 简称 AOSC) 12 | - 社区官网网址:https://aosc.io 13 | - 联系人:_(Junde Yhi)_ 14 | - 联系方式: 15 | - 邮箱:lmy441900@aosc.xyz 16 | - 电话:_(redacted)_ 17 | 18 | 1. 社区名称:安同开源社区 (Anthon Open Source Community, AOSC) 19 | 2. 社区官方网址: https://aosc.io 20 | 3. 社区Logo文件: https://raw.githubusercontent.com/AOSC-Dev/LOGO/master/SVG/Logo%20of%20Anthon%20Open%20Source%20Community.svg 21 | 4. 社区简短描述(30 字以内):AOSC 是围绕 Linux 发行版 AOSC OS 形成的开源社区。 22 | 5. 社区成段描述:安同开源社区(Anthon Open Source Community, 简称 AOSC)是围绕社区项目 AOSC OS 形成的开源社区。AOSC OS 是一款遵循简约、本地化、包容、可持续及精制原则独立开发的通用 Linux 发行版,致力于改善开源软件的使用体验。 23 | 6. 社区邮件列表(用于帮助学生了解社区,一般为开发者邮箱列表): discussions@lists.aosc.io 24 | 7. 社区官方公共联系邮箱: discussions@lists.aosc.io 25 | 8. 社区 “暑期2020” 项目列表页面链接(可选,可在页面准备好后再告知): [开源软件供应链点亮计划暑期 2020 项目](@/community/ospp/2020-projects.zh.md) 26 | 9. 技术标签:Linux、dpkg、L10n、Container、CI/CD、Automation、C、Python、Bash、Vala、GTK 27 | 10. 专注领域:Linux 发行版、中文本地化 28 | 29 | 69 | -------------------------------------------------------------------------------- /content/community/ospp/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Open Source Promotion Plan" 3 | sort_by = "date" 4 | [extra] 5 | list_section = true 6 | +++ 7 | -------------------------------------------------------------------------------- /content/community/ospp/_index.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "开源软件供应链点亮计划" 3 | sort_by = "date" 4 | [extra] 5 | list_section = true 6 | +++ 7 | -------------------------------------------------------------------------------- /content/community/privacy-policy.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Privacy Policy" 3 | description = "Data matters." 4 | [taxonomies] 5 | tags = ["community"] 6 | +++ 7 | 8 | We do not collect, process, or publicize personal data with this Linux distribution. 9 | 10 | We will publish any changes made in the future. 11 | -------------------------------------------------------------------------------- /content/community/springcon/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "AOSC Springcon" 3 | description = "Our annual spring report and outlook session" 4 | insert_anchor_links = "right" 5 | +++ 6 | 7 | This is an archive of current and past AOSC Springcon agendas and attendance 8 | information. 9 | -------------------------------------------------------------------------------- /content/community/springcon/_index.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "AOSC 烙饼会" 3 | description = "社区春季报告与展望会" 4 | insert_anchor_links = "right" 5 | +++ 6 | 7 | 本页面用于展示本届及往年 AOSC 烙饼会的议程安排及参会信息。 8 | -------------------------------------------------------------------------------- /content/developer/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Developer" 3 | [extra] 4 | list_section = true 5 | +++ 6 | -------------------------------------------------------------------------------- /content/developer/_index.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "开发者" 3 | [extra] 4 | list_section = true 5 | +++ 6 | -------------------------------------------------------------------------------- /content/developer/automation/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Automation" 3 | insert_anchor_links = "right" 4 | [extra] 5 | list_section = true 6 | +++ 7 | -------------------------------------------------------------------------------- /content/developer/automation/_index.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "自动化" 3 | insert_anchor_links = "right" 4 | [extra] 5 | list_section = true 6 | +++ 7 | -------------------------------------------------------------------------------- /content/developer/infrastructure/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Infrastructure" 3 | insert_anchor_links = "right" 4 | [extra] 5 | list_section = true 6 | +++ 7 | -------------------------------------------------------------------------------- /content/developer/infrastructure/_index.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "基础设施" 3 | insert_anchor_links = "right" 4 | [extra] 5 | list_section = true 6 | +++ 7 | -------------------------------------------------------------------------------- /content/developer/infrastructure/contacts.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "AOSC Infrastructure and Service Contact List" 3 | date = 2021-08-08 4 | [taxonomies] 5 | tags = ["infra"] 6 | [extra] 7 | page_hack = "big-min-table-cell-width" 8 | +++ 9 | 10 | | Service | Domain Name | Sponsor | ISP | Maintainers | 11 | |---------|-------------|---------|-----|-------------| 12 | | Domain | | | | @xiaoxing | 13 | | Website | | | | @xiaoxing | 14 | | CDN | | | Cloudflare | @xiaoxing | 15 | | Repo server | | xTom | | @xiaoxing, LDAP infra group | 16 | | Email | | | Mailcheap | @UnderfullHbox | 17 | | LDAP server | whoami | | BandwagonHost | @zamirsun | 18 | | LDAP record | whoami | | | @zamirsun, @xiaoxing, @jeffbai | 19 | | Relay | relay | | | @KexyBiscuit | 20 | | Relay APAC | relay-asia | | | @KexyBiscuit | 21 | | IRC channel | | | libera.chat | @TransmetaCPU, @UnderfullHbox | 22 | | Discord | | | | @liushuyu | 23 | | IRC bridge | | | | @Staph | 24 | | Paste v1 | | | | @liushuyu @xiaoxing | 25 | | Paste v2 | | | | @Staph | 26 | | AOSCNet | | | | @Staph | 27 | | Pakreq | | @TheSaltedFish | | @liushuyu | 28 | | pkgver | | | | @gumblex | 29 | | 包通委 | | | | @o0_0b (Lion), LDAP Infra group | 30 | | SSL cert | | | | @xiaoxing | 31 | -------------------------------------------------------------------------------- /content/developer/infrastructure/errata/00001-security-announcements-mailing-list.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "INFRA-ERR-00001:安全公告邮件列表迁移" 3 | description = "关于最近安全公告邮件列表迁移的情况简要说明" 4 | date = 2020-05-04T03:36:15.932Z 5 | [taxonomies] 6 | tags = ["infra-errata"] 7 | +++ 8 | 9 | # 概述 10 | 11 | AOSC 安全公告邮件列表(security@lists.aosc.io)因不明问题无法正常工作。一方面,我们尽全力排查问题但仍无法找到合适的解决措施;另一方面,我们还注意到这个邮箱地址在 RFC 2142 中被定义为只供系统管理员使用的保留邮箱,显然将其用作邮件列表是不恰当的。因此,我们决定遵循 RFC 的规则创建一个新邮件列表 security-announcements@lists.aosc.io,并将旧邮件列表存档迁移到新邮件列表。迁移已于 2020 年 4 月 5 日完成。 12 | 13 | # 背景 14 | 15 | 从 2020 年三月下旬开始,我们就已经无法在旧邮件列表(security@lists.aosc.io)发布安全公告。尽管我们做了各种尝试(例如排查配置文件和暂时取消入站垃圾邮件过滤),但我们还是无法解决这个问题。由于自 2018 年邮件列表开始运行后,我们几乎没对配置做任何更改,因此我们认为很有可能是底层软件(Sympa)的更改破坏了我们的邮件列表。在这个过程中,我们还发现根据 RFC 2142,"security" 是为站点管理员而设的保留邮箱,因此我们决定用另一个名称重新创建邮件列表。在 Telegram 群组中进行了一系列讨论后,我们决定使用 "security-announcements" 这个名字作为新的邮件列表的名称。 16 | 17 | # 成因 18 | 19 | 尚未查明。目前我们猜测问题是在某次常规服务器维护时意外引入的。 20 | 21 | # 决议 22 | 23 | 我们在 2020 年 4 月 5 日创建了新的邮件列表 security-announcements@lists.aosc.io 并将旧邮件列表存档迁移到新邮件列表上。在确认新的邮件列表可以正常运行之后,使用 Sympa 的停用功能停用旧邮件列表。在迁移之后,入站垃圾邮件过滤被重新激活并确认可以运行,订阅者和旧的存档也被成功导入。 24 | 25 | 即日起,所有安全公告都应该通过 security-announcements@lists.aosc.io 发送。 -------------------------------------------------------------------------------- /content/developer/infrastructure/errata/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Errata" 3 | [extra] 4 | list_section = true 5 | +++ 6 | -------------------------------------------------------------------------------- /content/developer/infrastructure/errata/_index.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "勘误表" 3 | [extra] 4 | list_section = true 5 | +++ 6 | -------------------------------------------------------------------------------- /content/developer/infrastructure/knowledge-base/00002-how-to-mirror.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "INFRA-KB-00002:如何为我们的社区仓库建立镜像" 3 | description = "简单介绍安同开源社区仓库的镜像方式" 4 | date = 2020-05-04T03:36:21.001Z 5 | [taxonomies] 6 | tags = ["infra-kb"] 7 | +++ 8 | 9 | 首先,感谢您为我们建立镜像。 10 | 11 | 安同开源社区成立已有一段时间,如果没有众人的支持,安同开源社区将永远无法成形,在此我们感谢所有希望帮助我们的人和曾经帮助我们的人。 12 | 13 | 到目前为止,我们的软件仓库有着很多镜像(主要位于中国),我们确实需要在其它地区建立更多的镜像(尤其是美国)。如果您兴趣帮助我们,请阅读以下信息。 14 | 15 | # 仓库内容 16 | 17 | 仓库包括哪些内容?一般来说,关于安同开源社区的一切,大多数都和安同 OS 相关(例如软件包和系统映像)。一些文档,如《大陆简中自由软件本地化工作指南》,也保存在仓库中。 18 | 19 | # 仓库大小 20 | 21 | 截至 2025 年六月,整个 `/anthon` 的内容约占用 1.8 TiB:软件包仓库占用约 1.2TiB,系统镜像约 476GiB,其他占用均为临时编译或打包后的零散文件、文档和其他未分类文件。 22 | 23 | 我们每月会定期清理过时的软件包,清理后软件包仓库的大小约为 1TiB 左右。请您确保您用于镜像的文件系统拥有至少 2TiB 的空闲存储空间。 24 | 25 | # 组成模块 26 | 27 | 社区仓库的 Rsync 服务器有着下面的四个模块: 28 | 29 | - `/anthon`:完整的仓库,包含了软件包和系统映像。 30 | - `/anthonos`:和 `/anthon` 完全一样。 31 | - `/packages`:只包含安同 OS 软件包仓库。 32 | - `/releases`: 只包含安同 OS 系统映像(内容和 [releases.aosc.io](https://releases.aosc.io/) 相同)。 33 | 34 | 我们推荐您从 `/anthon` 或 `/anthonos` 同步镜像。如果您没有足够的空间,也可同步 `/packages`。 35 | 36 | # 如何镜像 37 | 38 | 如果您有足够的储存空间,您可以直接从 `rsync://repo.aosc.io/anthon/` 同步。请不要通过手动解析的 IP 地址同步,如果您需要指定 IP 版本,您可以使用 `v4.repo.aosc.io` 或 `v6.repo.aosc.io` 分别选择 IPv4 和 IPv6 连接。 39 | 40 | {% card(type="warning") %} 41 | 我们目前使用的源服务器位于中国香港。因此,您可能会在同步时遇到速度较慢的情况。如您有 IPv6 的因特网访问条件,您可以使用 IPv6 连接同步您的镜像。 42 | {% end %} 43 | 44 | 您可以选择从 [USTCLUG](https://mirrors.ustc.edu.cn/) 或者 [Tuna](https://mirrors.tuna.tsinghua.edu.cn/) 初始化您的镜像站点以节约时间。 45 | 46 | 当您完成了镜像站的初始化后,请发送邮件到 [maintainers@aosc.io](mailto:maintainers@aosc.io),并提供您个人或机构的名字、Logo 和镜像站的地址。我们将会将相关信息添加到赞助者名单中。 47 | 48 | 如果您提供公共 HTTP 服务,我们强烈建议您使用 HTTPS。 49 | 50 | # 赞助者 51 | 52 | 目前安同 OS 的主仓库由[光圈网络 (Apernet)](https://apernet.io/) 提供托管支持;[xTom](https://xtom.com/) 和 [OSSPlanet](https://ossplanet.net/) 为软件源仓库设施的历史赞助方。 53 | 54 | 请移步到[社区赞助方一览](https://aosc.io/sponsors) 查看完整的赞助者名单。 55 | 56 | # 联系我们 57 | 58 | 如果您有任何疑问,欢迎您发送邮件到我们的邮件列表 [maintainers@aosc.io](mailto:maintainers@aosc.io)。 59 | -------------------------------------------------------------------------------- /content/developer/infrastructure/knowledge-base/00003-repository-migration.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "INFRA-KB-00003: Community Repository Migration Guide" 3 | description = "A quick summary of repo migration" 4 | date = 2020-05-04T03:36:23.645Z 5 | [taxonomies] 6 | tags = ["infra-kb"] 7 | +++ 8 | 9 | ## TL;DR 10 | We recently received a sponsorship from xTom, that includes a new repo server located in U.S. We are planning to migrate the old repo soon. 11 | 12 | For mirror maintainers, you don't need to do anything if you are using the domain repo.anthonos.org / mirror.anthonos.org / repo.aosc.io as the rsync domain. If you are using 163.22.17.40, please change to repo.aosc.io as soon as possible. 13 | 14 | For packagers, please refer to the following content to know what and when you need to take action. 15 | 16 | ## About the new server 17 | The new server has a 1 Gbps network and much better hardware. The new IP would be 142.147.91.106 and 2604:e8c0:4::2 (yes, really a short IP). 18 | 19 | ## Timeline 20 | - Dec 29, 2018: Stop uploading new packages to both old and new server. 21 | - Dec 30, 2018: Fully sync content from old to new server. 22 | - Same day at 0:00 UTC +8: Update DNS and point to new repository server. 23 | - Jan 2, 2019: Check old repo rsync log to see if any server is still connecting. 24 | 25 | 26 | ## Packagers 27 | Instead of a single `upload` account for everyone, new repository server now requires each packager has their own account on LDAP service (which will in the future serves as a unified login mechanism for all AOSC platform and services). If you currently don't have LDAP account , please contact @xiaoxing at Telegram. 28 | 29 | ## Sponsor 30 | The new server is kindly sponsored by xTom (https://xtom.com/), a professional hosting solution. 31 | -------------------------------------------------------------------------------- /content/developer/infrastructure/knowledge-base/00003-repository-migration.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "INFRA-KB-00003:社区仓库迁移指南" 3 | description = "社区仓库迁移相关事宜概览" 4 | date = 2020-05-04T03:36:23.645Z 5 | [taxonomies] 6 | tags = ["infra-kb"] 7 | +++ 8 | 9 | ## 概述 10 | 11 | xTom 近日向我们赞助了一台位于美国的服务器。我们计划将旧社区仓库迁移到该服务器上。 12 | 13 | 如果您是一名镜像站维护者且通过 repo.anthonos.org / mirror.anthonos.org / repo.aosc.io 进行同步,您不需要执行任何操作。如果您通过 163.22.17.40 进行同步,请尽快将同步源切换到 repo.aosc.io。 14 | 15 | 如果您是一名打包者,请阅读下面的内容了解更多详情并采取必要的措施。 16 | 17 | ## 关于新服务器 18 | 19 | 新的服务器有着 1 Gbps 的接入速度和更好的硬件配置。新的 IP 地址是 142.147.91.106 和 2604:e8c0:4::2。 20 | 21 | ## 时间表 22 | 23 | - 2018 年 12 月 29 日:新旧服务器均暂停接受软件包提交。 24 | - 2018 年 12 月 30 日:服务器数据迁移与同步。 25 | - 同一天的 0:00 UTC +8:将 DNS 指向新服务器。 26 | - 2018 年 1 月 2 日:检查旧社区仓库的同步日志以检查是否仍有服务器连接。 27 | 28 | ## 打包者 29 | 30 | 新的服务器现在要求每个打包者都要有一个自己的 LDAP 的帐户。如果您还没有 LDAP 帐户,请通过 Telegram 联系 @xiaoxiang。 31 | 32 | ## 赞助者 33 | 34 | 新的服务器由 xTom (https://xtom.com/) 赞助。 35 | -------------------------------------------------------------------------------- /content/developer/infrastructure/knowledge-base/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Knowledge Base" 3 | insert_anchor_links = "right" 4 | [extra] 5 | list_section = true 6 | +++ 7 | -------------------------------------------------------------------------------- /content/developer/infrastructure/knowledge-base/_index.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "知识库" 3 | insert_anchor_links = "right" 4 | [extra] 5 | list_section = true 6 | +++ 7 | -------------------------------------------------------------------------------- /content/developer/minutes/20200419.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Contributor Minutes on 2020-04-19" 3 | description = "" 4 | date = 2020-05-04T03:36:31.287Z 5 | [taxonomies] 6 | tags = ["minutes", "dev-automation", "dev-sys"] 7 | +++ 8 | 9 | ## Gumblex 10 | 11 | - drawn a diagram 12 | - downloader 13 | - scheduler demo, using 线性规划 14 | - 想梳理包的关系,但是打环很严重,做不出来,比较困难,暂时没有继续做 15 | - 节省安装依赖的时间:GTK3, Qt5? 16 | - 是引起打环的大头 17 | - 原本想计算,但计算方法很难求很好的解 18 | - 希望以这两个包作为缓存机制 19 | - 目前 Ciel 无法进行多级镜像管理 20 | - 需要把测试和打包的环境分开 21 | - RedHat builda / podman 22 | - Builda 用于打分层的镜像包 23 | - 用 builda 代替目前的 ciel 的用途 24 | - 不使用 UID Namespace 25 | - 在元数据中规定一个 Bash 子集,方便 Parse 26 | 27 | ## Lion 28 | 29 | - 包的依赖关系确实非常复杂 30 | - 环,很大(意料之外) 31 | - 包之间有复杂的 Conflict, Replace, Rename 关系 32 | - 意图不同 33 | - 对用户来说没有太大代价(整个环安装上) 34 | - 对打包的问题:存在依赖问题,但并不会造成很大问题 35 | - 已经有办法探测出来 36 | - 安装包,更大的问题在 IO 上 37 | - 在做 ACID 的时候,监控发现 CPU 占用有时候很低,两个推测: 38 | - IO 39 | - Postinst 40 | - builda 有 UID Namespace (fakeroot like) 41 | - 操作起来有点困难 42 | - 安全性问题存在,但危害不明显,主要希望提高效率 43 | - 甚至可以不开,带来了很多不必要的麻烦 44 | - 目前维护工作流上有一些麻烦 45 | - 编辑脚本重复工作较多 46 | - `aeditor nano update 2.0` 47 | - liushuyu: `abed`? `abcd`? 48 | - ab3 有多少 Bash 语法? 49 | - spec version 处理 50 | - 没有 for, do, case 51 | - 比较积极的信号,可以做性能提升 52 | - 重写条件令解析更好做 53 | - Downloader 已经解决了很大一部分的 spec 问题 54 | - 上游更改,…… 55 | - 消灭了很多的 spec 内字符串替换 56 | - **可以尽快制定 spec 使用的 Bash 语法子集** 57 | - 放进 wiki 58 | - 版本比较器测试非常完备 59 | - **可以尝试在包内 (control) 放置构建时信息** 60 | -------------------------------------------------------------------------------- /content/developer/minutes/20220612.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Contributor Minutes on 2022-06-12" 3 | description = "" 4 | date = 2022-06-12 5 | [taxonomies] 6 | tags = ["minutes"] 7 | +++ 8 | 9 | Contributor Minutes on 2022-06-12 10 | ================================= 11 | 12 | Attendees 13 | --------- 14 | - Lily-Ayta (Lily) 15 | - Mag Mell (Saki) 16 | - Mingcong Bai (Bai) 17 | - Zixing Liu (Liu) 18 | - Icenowy 19 | - CambeR 20 | -------------------------------------------------------------------------------- /content/developer/minutes/20221210.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Contributor Minutes on 2022-12-10" 3 | description = "" 4 | date = 2022-12-10 5 | [taxonomies] 6 | tags = ["minutes"] 7 | +++ 8 | 9 | Contributor Minutes on 2022-12-10 10 | ================================= 11 | 12 | Attendees 13 | --------- 14 | -------------------------------------------------------------------------------- /content/developer/minutes/20230402.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Contributor Minutes on 2023-04-02" 3 | description = "" 4 | date = 2023-04-02 5 | [taxonomies] 6 | tags = ["minutes"] 7 | +++ 8 | 9 | Agenda 10 | ====== 11 | 12 | - [OSPP 2023 Sign-Up](#ospp-2023-sign-up) 13 | - [Omakase Review](#omakase-review) 14 | - [Pixie Demo](#pixie-demo) 15 | 16 | OSPP 2023 Sign-Up 17 | ================= 18 | 19 | Not available for project submission yet. 20 | 21 | Omakase Review 22 | ============== 23 | 24 | - `oma history/log` crashes. 25 | - Remove `-d` for `--dry-run` to avoid confusion with `--debug`. 26 | - Only use "depended by" with `rdepends`, not `depends`. 27 | - No need to list package names in `oma download`. 28 | - "Successfully downloaded package(s) to /.../..." 29 | - Add more outputs to longer running operations (dependency resolution, 30 | integrity checking, etc.), along with an animation. 31 | - List installed package in `oma search` results at the top. 32 | - Uneven progress bar lengths depending on download unit size. 33 | - Add `--dpkg-force-all` to 3rd retry attempt at install/upgrade, then run the 34 | same command again to verify (or use libapt to verify breakage). 35 | - Limit maximal width of the UI (to 150 columns?). 36 | 37 | Pixie Demo 38 | ========== 39 | 40 | - Pending implementation for: dependency exclusion, Python/Perl/Ruby/PE support. 41 | - `pscan -s` should display full soname (lib...so.N). 42 | - Display "WARNING" by default. 43 | - Limit `PKGDEP` generation to a range/tree from `BUILDDEP`, report an error if 44 | `PKGDEP` is outside of this range (allow disabling in Autobuild3 as a 45 | workaround/exception). 46 | -------------------------------------------------------------------------------- /content/developer/minutes/20230408.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Contributor Minutes on 2023-04-08" 3 | description = "" 4 | date = 2023-04-08 5 | [taxonomies] 6 | tags = ["minutes"] 7 | +++ 8 | 9 | Agenda 10 | ====== 11 | 12 | - [Replace Current Pastebin Site with Microbin](#replace-current-pastebin-site-with-microbin) 13 | - [Omakase Review](#omakase-review) 14 | 15 | Replace Current Pastebin Site with Microbin 16 | =========================================== 17 | 18 | - Potentially problematic: Has no database and uses JSON for storage, may slow 19 | down over time. 20 | - Missing anti-spamming mechanisms such as attachment size limits. 21 | - Look for alternative implementations. 22 | - Rustypaste has similar issues. 23 | - [ascclemens/paste](https://github.com/ascclemens/paste)? 24 | 25 | Omakase Review 26 | ============== 27 | 28 | - `oma rdepends` should list relevant versions of the dependees and reference 29 | the dependency. 30 | - "Depended by: tdeio-apt (14.0.13) (apt >= 2:2.2.4)" 31 | - Learn from nala: `oma history` should present changes in a more friendly way 32 | and allow for redo/undo. 33 | - Crashes when attempting to reinstall a package that is no longer found in any 34 | repositories. 35 | - List such packages like `packagekit/[unknown]`. 36 | -------------------------------------------------------------------------------- /content/developer/minutes/20230415.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Contributor Minutes on 2023-04-15" 3 | description = "" 4 | date = 2023-04-15 5 | [taxonomies] 6 | tags = ["minutes"] 7 | +++ 8 | 9 | Agenda 10 | ====== 11 | 12 | - [LiveKit Review](#livekit-review) 13 | 14 | LiveKit Review 15 | ============== 16 | 17 | - Remove "AOSC OS:" from the GRUB menu entrie names. 18 | - Move the "to RAM" option to advanced options. 19 | - Add options for "test media" or "RAM test." 20 | - Tofu on GRUB menu instructions (bad fonts?). 21 | - Force 1024x768 on "command line only" mode. 22 | - Add a multilingual menu for GRUB, or add one during boot. 23 | - Remove the menu bar from MATE Terminal (while running as root). 24 | - DeployKit: Broken benchmark function. 25 | - DeployKit: Select a partition with "acceptable FS" by default (instead of 26 | selecting the first, which is usually the ESP). 27 | - DeployKit: Consider adding a resume function to the download routines. 28 | - DeployKit: Full name support (write to /etc/passwd after the user is created). 29 | -------------------------------------------------------------------------------- /content/developer/minutes/20230624.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Contributor Minutes on 2023-06-24" 3 | description = "" 4 | date = 2023-06-24 5 | [taxonomies] 6 | tags = ["minutes"] 7 | +++ 8 | 9 | Agenda 10 | ====== 11 | 12 | - [AOSCC 2023](#aoscc-2023) 13 | - [LiveKit Review](#livekit-review) 14 | 15 | AOSCC 2023 16 | ========== 17 | 18 | - Collecting "Year in Review" items. 19 | 20 | LiveKit Review 21 | ============== 22 | 23 | - Ease up compression ratio (aim for 4GiB .iso). 24 | - Do not allow installing AOSC OS on btrfs or f2fs. 25 | - btrfs: Swapfile requires special handling. 26 | - f2fs: GRUB fails to save last boot entry. 27 | - Select "use ext4" by default. 28 | - Set 2GiB as minimum RAM required for LiveKit. 29 | - "Partitioning" window not cleared after selecting a custom FS. 30 | - "AOSC OS Installation" window not cleared after completion. 31 | - Drop "to RAM" option. 32 | -------------------------------------------------------------------------------- /content/developer/minutes/20230729.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Contributor Minutes on 2023-07-29" 3 | description = "" 4 | date = 2023-07-29 5 | [taxonomies] 6 | tags = ["minutes"] 7 | +++ 8 | 9 | Agenda 10 | ====== 11 | 12 | - [AOSC OS Core 11 Components and Scheduling](#aosc-os-core-11-components-and-scheduling) 13 | - [Outreach Workgroup for Bilibili, WeChat, etc.](#outreach-workgroup-for-bilibili-wechat-etc) 14 | - [Distro Review: openEuler Community Edition 22.03 LTS SP2](#distro-review-openeuler-community-edition-22-03-lts-sp2) 15 | - [Distro Review: RHEL Workstation 9.2](#distro-review-rhel-workstation-9-2) 16 | 17 | AOSC OS Core 11 Components and Scheduling 18 | ========================================= 19 | 20 | - While updating GCC, keep a note that Binutils must be bumped. 21 | - RISC-V rebuilds after GCC 13 update. 22 | - Compiler tooling improvements results in faster binaries being generated. 23 | - Replacing system components step by step, instead of a full system rebuild? 24 | - This topic must not be merged before LLVM 16. 25 | - LLVM 15 will not build with GCC 13. 26 | - There are remaining GCC 12 changes, including D language enablement for POWER, which will aid GCC 13 bootstrapping. 27 | 28 | Outreach Workgroup for Bilibili, WeChat, etc. 29 | ============================================= 30 | 31 | - Set e-mail for Bilibili, will need phone authentication. 32 | - Mingcong Bai is the current email and phone number owner. 33 | - To be decided: What to do when Mingcong Bai returns to the United States. 34 | - Opened an official WeChat account (ID: aosc_io), currently under audit. 35 | - Probably need a new Weibo account? 36 | 37 | Distro Review: openEuler Community Edition 22.03 LTS SP2 38 | ======================================================== 39 | 40 | See our [survey notes on openEuler Community Edition](/developer/notes/distro-survey-2023#openeuler-community-edition). 41 | 42 | Distro Review: RHEL Workstation 9.2 43 | =================================== 44 | 45 | See our [survey notes on RHEL Workstation](/developer/notes/distro-survey-2023#rhel-workstation). 46 | -------------------------------------------------------------------------------- /content/developer/minutes/20230819.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Contributor Minutes on 2023-08-19" 3 | description = "" 4 | date = 2023-08-19 5 | [taxonomies] 6 | tags = ["minutes"] 7 | +++ 8 | 9 | Agenda 10 | ====== 11 | 12 | - [Omakase History/Undo Design](#omakase-history-undo-design) 13 | - [OpenSSL 3.1.1 Upgrade Testing](#openssl-3-1-1-upgrade-testing) 14 | - [Distro Review: Ubuntu 23.04](#distro-review-ubuntu-23-04) 15 | - [Distro Review: openKylin 1.0](#distro-review-openkylin-1-0) 16 | 17 | Omakase History/Undo Design 18 | =========================== 19 | 20 | - Limit history items to 10 per page for oma history. 21 | - Localize all command history (Removed X, Installed Y, Upgraded system). 22 | - Drop `oma redo`, as it is quite pointless. 23 | - `oma history` interface. 24 | - Show a list of history items (dialoguer), as you do with `oma history undo`. 25 | - Selecting an item will "replay" the confirmation interface. 26 | - Redraw the confirmation interface on terminal after hitting Q. 27 | 28 | OpenSSL 3.1.1 Upgrade Testing 29 | ============================= 30 | 31 | - Upgraded successfully on three personal machines. 32 | - Failed from the 20220922 Desktop release, to investigate or announce as errata. 33 | 34 | Distro Review: Ubuntu 23.04 35 | =========================== 36 | 37 | See our [survey notes on Ubuntu](/developer/notes/distro-survey-2023#ubuntu). 38 | 39 | Distro Review: openKylin 1.0 40 | ============================ 41 | 42 | See our [survey notes on openKylin](/developer/notes/distro-survey-2023#openkylin). -------------------------------------------------------------------------------- /content/developer/minutes/20230917.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Contributor Minutes on 2023-09-17" 3 | description = "" 4 | date = 2023-09-17 5 | [taxonomies] 6 | tags = ["minutes"] 7 | +++ 8 | 9 | Topics 10 | ====== 11 | 12 | Today's meeting focuses on OSPP 2023 Project progression, Bash Config compatibility with `sudo su`, and Coffee Break review meeting planning. 13 | 14 | - [OSPP Sync: Autobuild3 Testing Framework](#ospp-sync-autobuild3-testing-framework) 15 | - [Bash Config](#bash-config) 16 | - [Next Coffee Break Issue](#next-coffee-break-issue) 17 | 18 | OSPP Sync: Autobuild3 Testing Framework 19 | ======================================= 20 | 21 | - Framework is essentially done, testing pending. 22 | - Especially needs review and feedback from packagers. 23 | - Review design document again. 24 | - Test using `groups/core` (except `linux+api` and `aosc-aaa`). 25 | - Re-iterated - testing templates is necessary but not as important as a way to write custom test scripts. 26 | - Developer review session next Saturday, UTC+8 time. 27 | - Project goals. 28 | - autobuild3: Pull request with design and user documentation. 29 | - aosc-os-abbs: Topic with testing Autobuild3 with implementation of testing scripts for some packages. 30 | - Leedagee will continue to maintain the framework but expects consistent help and feedback from contributors. 31 | 32 | Bash Config 33 | =========== 34 | 35 | Leedagee to continue research possible solutions for environment inheritence past `sudo su` - as this is a common (though discouraged) habit for many Linux users. 36 | 37 | Bottom line - disable `env_reset` in sudo - (potentially!) dangerous but intuitive. 38 | 39 | Next Coffee Break Issue 40 | ======================= 41 | 42 | Meeting on Thursday, September 28, at around 8 ~ 10 P.M., UTC+8 time. 43 | -------------------------------------------------------------------------------- /content/developer/minutes/20231030.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Contributor Minutes on 2023-10-30" 3 | description = "" 4 | date = 2023-10-30 5 | [taxonomies] 6 | tags = ["minutes"] 7 | +++ 8 | 9 | Topics 10 | ====== 11 | 12 | Today's meeting focuses on various project planning and updates. 13 | 14 | - [Omakase 1.2: Error Output and Debugging](#omakase-1-2-error-output-and-debugging) 15 | 16 | Omakase 1.2: Error Output and Debugging 17 | ====== 18 | 19 | - Re-work error output I/O to split "ERROR" and "DUETO" outputs, one line for error description, another line for error code. Mock-up as follows: 20 | 21 | ``` 22 | ERROR 无法下载 apt_2.6.1_amd64.deb! 23 | DUETO 下载时遇到网络问题:网络不可达 (os error N) 24 | ``` 25 | 26 | ``` 27 | ERROR 无法下载 apt_2.6.1_amd64.deb! 28 | DUETO 写入 apt_2.6.1_amd64.deb 时发生 I/O 错误:没有这样的文件或目录 (os error 101) 29 | ``` 30 | 31 | - Implement function tracing in key functions, so that Omakase running in `--debug` mode can return the exact functions and code location where the error occurred. 32 | - Investigate error message localisation for both Glibc errno and error codes in `requests`. 33 | - Do we need everything `requests` returns? 34 | - Reminder for previous to-do items. 35 | - Missing localisation in `oma history`. 36 | - Keep backups of configuration files for oma undo (probably in tarballs in set places, marking by package names, versions, checksums, etc.). 37 | - All `indicatif` strings and elements needs to be marked for justification. 38 | -------------------------------------------------------------------------------- /content/developer/minutes/20231119.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Contributor Minutes on 2023-11-19" 3 | description = "" 4 | date = 2023-11-19 5 | [taxonomies] 6 | tags = ["minutes"] 7 | +++ 8 | 9 | Topics 10 | ====== 11 | 12 | Today's meeting focuses on various project planning and updates. 13 | 14 | - [Omakase 1.2 Testing](#omakase-1-2-testing) 15 | - [Omakase: Rename to oma?](#omakase-rename-to-oma) 16 | 17 | Omakase 1.2 Testing 18 | =================== 19 | 20 | - `oma --ailurus` does not display the Easter Egg correctly on smaller screens (< 116col). 21 | - Originally, there should be a 80 - 116col mode. 22 | - Omakase should have returned an error when terminal width is < 80col. 23 | - `oma install --sysroot` only functions with absolute path. 24 | - When running `oma refresh`, falsely resolved DNS addresses (such as `repo.o`) provided by ISP may cause Omakase returns a huge amount of empty lines. 25 | - AT&T redirects to dnserrorassis.att.net and Omakase attempted to read from the last file name on that URL. 26 | 27 | ``` 28 | Notes from cth451: 29 | 30 | oma prints out filename component from effective URLs (may be different from one used in sources list due to server side redirects) upon download failure. 31 | 32 | ISPs engaging in non standard behavior may redirect NXDOMAIN into URLs that are too long to print on the terminal 33 | ``` 34 | 35 | 36 | - Consider reverting d0c7e3b4d78efa8c05bb91cfbef0d0f0284892d8, which seem to have broken the progress bar layout again. 37 | - Possible upstream bug: pkexec cancellation returns code 127 (should be 1?). 38 | - Record failed Omakase operations with `[Failed]` (or something similar). 39 | - `oma download` does not return permission error "DUE TO" while attempting to overwrite .deb files created by root. 40 | - Or for any file operations in general. 41 | 42 | Omakase: Rename to oma? 43 | ======================= 44 | 45 | Tabled as a trivial topic. 46 | -------------------------------------------------------------------------------- /content/developer/minutes/20231202.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Contributor Minutes on 2023-12-02" 3 | description = "" 4 | date = 2023-12-02 5 | [taxonomies] 6 | tags = ["minutes"] 7 | +++ 8 | 9 | Topics 10 | ====== 11 | 12 | Today's meeting focuses on various project planning and updates. 13 | 14 | - [Review: Raspberry Pi OS First-boot Experience](#review-raspberry-pi-os-first-boot-experience) 15 | - [Review: Armbian First-boot Experience](#review-armbian-first-boot-experience) 16 | 17 | Review: Raspberry Pi OS First-boot Experience 18 | ============================================ 19 | 20 | - GUI (https://github.com/raspberrypi-ui/piwiz). 21 | - Automatically pairs bluetooth mouse and keyboard (put devices into pairing mode). 22 | - Default browser selection. 23 | - Update software on first-boot (but it was shown even when network connection isn't available). 24 | 25 | Review: Armbian First-boot Experience 26 | ===================================== 27 | 28 | - Command-line prompt wizard. 29 | - "Desktop environment will not be enabled if you abort the new user creation." 30 | - Timezone organised by "Beijing" and "Xinjiang" timezone - this may be a little more familiar than Shanghai, Chongqing, etc. 31 | -------------------------------------------------------------------------------- /content/developer/minutes/20231224.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Contributor Minutes on 2023-12-24" 3 | description = "" 4 | date = 2023-12-24 5 | [taxonomies] 6 | tags = ["minutes"] 7 | +++ 8 | 9 | Topics 10 | ====== 11 | 12 | Today's meeting focuses on various project planning and updates. 13 | 14 | - [KDE 6 体验评测及配置考察](#kde-6-ti-yan-ping-ce-ji-pei-zhi-kao-cha) 15 | 16 | KDE 6 体验评测及配置考察 17 | ==== 18 | 19 | 需要调整的配置 20 | ---- 21 | 22 | - Plasma 外壳及窗口管理 23 | - 浮动面板默认关闭 24 | - 默认关闭桌面概览 25 | - 默认开启“最小化窗口靠后排列” 26 | - 默认开启“最小化窗口靠后排列” 27 | - 关闭所有“窗口管理”特性(性能问题) 28 | - 桌面会话 29 | - 默认使用 PipeWire 30 | - 应用 Plasma 外观到 SDDM 31 | - Baloo 文件索引器 32 | - 仅索引文件名 33 | - KRunner 34 | - 仅打开如下插件 35 | - 应用 36 | - 书签 37 | - 位置 38 | - 命令行 39 | - 常用位置 40 | - 文件搜索 41 | - 日期时间 42 | - 最近文件 43 | - 活动 44 | - 电源 45 | - 窗口 46 | - 系统设置 47 | - 终止程序 48 | - 在“中间”显示并且打开“按任意键开启” 49 | - 默认开启菜单栏 50 | - Ark 51 | - Gwenview 52 | - Konsole 53 | - Gwenview 54 | - “全屏背景色”设置为黑色 55 | - 关闭“动画切换效果” 56 | - Dolphin 57 | - 默认显示侧边栏 58 | - 默认打开 Tab 切换视图,“显示工具提示” 59 | - 应用菜单 (Kicker) 60 | - 默认开启“扁平化子菜单到一级” 61 | - 增加 Alt+F1 快捷键 62 | 63 | 注意事项及需要报告的问题 64 | ---- 65 | 66 | - SDDM 67 | - 按回车没有反应? 68 | - 应用程序菜单 (Kicker) 69 | - 打开二级菜单时,任务栏会显示多余窗口 (`plasmashell (2)`) 70 | - 菜单徽标大小不正确 71 | - Plasma 外壳 72 | - 高亮色不会跟着设置修改(而窗口中的高亮色工作正常) 73 | - 系统设置 74 | - GTK 风格设置默认为空 75 | - Plymouth 主题没有预览(需要生成截图) 76 | - 关闭“在通知中显示”应用程序执行进度会导致 Dolphin 彻底不显示进度 77 | - 待查:“触摸点高亮”是否能在 X11 上使用? 78 | - “辅助工具”应称为“调试工具” 79 | - 最大化最小化动画缺失 80 | - “拼写检查”界面的修改探测有问题(点击一次似乎就会造成设置修改的状态) 81 | - 待查:“软件更新”何时应用更新(立即或重启时)的设置是否应该禁用? 82 | - Gwenview 83 | - 待查:“再现意图”是什么设置? 84 | - Dolphin 85 | - “将压缩文件作为文件夹”选项无法打开 86 | -------------------------------------------------------------------------------- /content/developer/minutes/20240125.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Contributor Minutes on 2024-01-25" 3 | description = "" 4 | date = 2024-01-25 5 | [taxonomies] 6 | tags = ["minutes"] 7 | +++ 8 | 9 | Spiral 实现 10 | === 11 | 12 | 简述 13 | === 14 | 15 | Spiral 是一个通过自动探测软件包内容,按 Debian 软件包的命名规范自动标记 Provides,以期实现 Debian/Ubuntu 软件包兼容性的框架 16 | 17 | 规范 18 | === 19 | 20 | - 实现可以掌握的规律即可,其余的按照需要手动标记 21 | - 可以直接转译的,如 `gtk-3: libgtk-3.so.1 => libgtk-3-1 + libgtk-3-dev` 22 | - 一般规则:`soname` + `-` + `sover`;开发包 (`-dev`):`soname` + `dev` 23 | - 如有 `soname`,则 `lib` 文件名和 `soname` 都按照规范转译 24 | - 需排除静态库 25 | - 不规范的部分,`PKGPROV=` 内容作为补充 26 | - 亦可实现 Autobuild 内置宏排除和替换 Provides 项目 27 | - 考虑到 Python 和 Perl 等包包名规范不统一,非 ELF 包的 Provides 均手动标记 28 | - 只需标记 `/usr/lib` 下的文件,而不需要标记更深层的文件 29 | - Provides 版本按当前包的版本标记 `=`,如果遇到和 Debian 不相等的 Epoch,则要求手动标记 30 | 31 | 实现计划 32 | === 33 | 34 | - 在 Autobuild4 的 `abnativeelf` 模块下实现 35 | - 使用 `ABSPIRAL` 作为开关名 36 | - 默认打开该功能 37 | - oma 需要实现多软件包 Provides 的用户选择逻辑 38 | 39 | 工作计划 40 | === 41 | 42 | - 咸鱼:尽快在 Autobuild4 内实现相关功能 43 | - AOSC OS:短期内,先按照 Electron 等应用的热点包重构,后续全系统重构 44 | 45 | 其他意见 46 | === 47 | 48 | 王邈建议: 49 | 50 | - Provide 的 Epoch 一律设置为 0(考虑到 Debian 上一般不轻易提高 Epoch) 51 | - 如果需要改 Epoch,可以用单独环境变量指出 52 | 53 | 参考材料 54 | === 55 | 56 | - [现有 Spiral 实现](https://github.com/spiral-repo/spiral-rs/blob/master/spiral/src/translate.rs) 57 | - [Debian 软件包名规范](https://www.debian.org/doc/debian-policy/ch-controlfields.html) 58 | -------------------------------------------------------------------------------- /content/developer/minutes/20240225.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Contributor Minutes on 2024-02-25" 3 | description = "" 4 | date = 2024-02-25 5 | [taxonomies] 6 | tags = ["minutes"] 7 | +++ 8 | 9 | 视频外宣工作 10 | === 11 | 12 | 今天的会议上,我们讨论了视频外宣工作的计划,包括目标平台、栏目设计、导向和质量要求等的初步共识。 13 | 14 | 目标平台 15 | === 16 | 17 | 视频计划发布到 Bilibili 和 YouTube,以中文为主。 18 | 19 | 栏目计划 20 | === 21 | 22 | 初步计划三个视频栏目,其中中短篇幅的包括: 23 | 24 | - 用户指南:系统安装和特性使用等的指南视频 25 | - 重大特性宣传:重大系统更新、优化和变化等的宣传 26 | 27 | 长篇栏目: 28 | 29 | - 访谈录:同校园社团、地方组织和企业代表的访谈视频 30 | 31 | 内容导向 32 | === 33 | 34 | 视频外宣应以用户和客户作为目标群体,指南视频以提供解决方案为主,而特性宣传以对用户的影响为主。无需做《新闻联播》一般的视频(即将一切动态整合起来介绍),应围绕特定课题制作视频。 35 | 36 | 质量要求 37 | === 38 | 39 | 视频质量要求和制作规范等在制作第一批视频后进行整理和 RFC 工作。 40 | 41 | 工作计划 42 | === 43 | 44 | 初步工作由 @xunpod(温柔)牵头组织和完成: 45 | 46 | - 在三月中旬之前完成第一批视频的制作,并在贡献者之间征求意见 47 | - 联系发布过 AOSC OS 的视频 Up 主,询问其合作意愿(考虑到社区缺少有制作视频经验的贡献者) 48 | - 制作视频包装(开头、结尾和装饰等) 49 | - 安排贡献者为视频配音 -------------------------------------------------------------------------------- /content/developer/minutes/20240529.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Contributor Minutes on 2024-05-29" 3 | description = "" 4 | date = 2024-05-29 5 | [taxonomies] 6 | tags = ["minutes"] 7 | +++ 8 | 9 | OSPP 2024 考核筹备 10 | === 11 | 12 | - 考核内容由各导师准备并根据自己的节奏发布 13 | - 考题发布在 `https://repo.aosc.io/aosc-documentation/ospp-2024/${project_name}` 下,另发一份给学生的报名邮箱 14 | 15 | 考核日程 16 | --- 17 | 18 | - 6 月 5 日前,导师应将考题发布给贡献者收集意见 (RFC) 并根据上述指引发布 19 | - 所有考核应于 6 月 20 日截止 20 | - 6 月 22 或 23 日,社区贡献者组织例会对考核结果进行讨论,并排出候选学生 -------------------------------------------------------------------------------- /content/developer/minutes/20240602.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Contributor Minutes on 2024-06-02" 3 | description = "" 4 | date = 2024-06-02 5 | [taxonomies] 6 | tags = ["minutes"] 7 | +++ 8 | 9 | 软件包信息站需求讨论 10 | === 11 | 12 | 当前[软件包信息站](https://packages.aosc.io/)服务不稳定且原维护者已失联,故计划重新实现 13 | 14 | 今日例会讨论了关于重新实现时的特性及服务调整: 15 | 16 | - 需要排除的功能 17 | - 软件包质量监测页面 18 | - 面向开发者的功能,如 Topic 信息 19 | - 需要简化的功能 20 | - 将 Changelog 功能简化为 GitHub 历史页 21 | - Section 信息改为从 Packages 读取 22 | - 架构间软件包版本比较(只拉取最新的相对版本) 23 | - 服务调整 24 | - 将信息站服务直接部署在新的香港源服务器上 25 | 26 | p-vector-rs Acquire-by-Hash 27 | === 28 | 29 | - 已审阅代码,但部分代码需要重新调整 30 | - 可考虑使用非官方(如柴天浩的)源进行初步测试,避免服务事故 31 | 32 | autopr 白名单调研 33 | === 34 | 35 | - 初步确立如下白名单准入规则 36 | - 软件包足够简单 37 | - 软件包无版本管制(如 KDE 暂时不更新到 6) 38 | - 软件包非运行时性质(避免潜在重构需求) 39 | - 目前完成 `a` 与 `b` 开头软件包的登记,其余后续完成 40 | 41 | AOSCC 2024 工作组第二次例会 42 | === 43 | 44 | 报名表 45 | --- 46 | 47 | - 开始制作 AOSCC 2024 登记表 48 | - 实名登记(共享给校方安保部门及联系人:Ciel 和白铭骢) 49 | - 法定姓名 50 | - 手机号(用于收取门禁短信) 51 | - 证件号(身份证或护照) 52 | - 联系方式 53 | - 各即时通讯平台联系方式,用作联系方式 54 | - 与会者名牌 55 | - 设计见 https://github.com/AOSC-Dev/aoscc/tree/master/2024/badges 56 | - 多种样式可选 57 | - 预先印刷 58 | - 空模板(供现场填写) 59 | - 匿名(无印) 60 | - 酒店团体优惠 61 | - 提供选项,与会者自行判断 62 | - 感兴趣者可选择单人或拼房 63 | 64 | 周边文创 65 | --- 66 | 67 | - 可使用新的安安同同贴图包 68 | - Kexy Biscuit 联系亚克力钥匙串提供商 69 | - 其余计划:贴纸、T 恤、编织袋、保温杯 70 | 71 | 讲者 72 | --- 73 | 74 | - 目前已邀请 75 | - 统信科技的李成刚,分享 deepin 系统维护(安排在信创场) 76 | - 龙芯中科的曾路,分享 LATX 工作(暂未确定是否能到会) 77 | - 计划邀请 78 | - 刘子兴,Canonical Foundations Team 工程师 79 | - 陈华才、孙海勇、史璞金等龙芯中科工程师 80 | - 孙子谦,红帽(中国)公司工程师 81 | - 高涵 (Revy)、王雪瑞 (xen0n) 等来自社区的专家 82 | - PLCT 一线工程师/实习生(通过 PLCT 社区伙伴群统一联系收集意向,吴伟表示可以报销职工差旅) 83 | - 此外:计划联系其他对社区较为友好的信创公司(如芯动科技)是否有一线职工希望来分享 84 | 85 | 下次例会 86 | --- 87 | 88 | 至 7 月 13 日前每周日晚 9 时同步工作进展 -------------------------------------------------------------------------------- /content/developer/minutes/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Minutes" 3 | description = "Minutes from Routine Developer Meetings" 4 | sort_by = "date" 5 | [extra] 6 | list_section = true 7 | +++ 8 | -------------------------------------------------------------------------------- /content/developer/notes/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Development Notes" 3 | description = "Developers notes on AOSC projects (AOSC OS and friends)." 4 | sort_by = "date" 5 | [extra] 6 | list_section = true 7 | +++ 8 | -------------------------------------------------------------------------------- /content/developer/packaging/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Packaging" 3 | +++ 4 | 5 | Welcome! If you are reading this, you are probably interested in contributing to the AOSC OS project. This guide will guide you through all the tools and techniques you need to create, update, and maintain AOSC OS packages. 6 | 7 | If you are new to packaging for AOSC OS, please first take a look at the [Intro to Package Maintenance: Basics](@/developer/packaging/basics.md). After that, read [Intro to Package Maintenance: Advanced Techniques](@/developer/packaging/advanced-techniques.md) for some very common techniques used in day-to-day packaging. 8 | 9 | In order to ensure the quality of our packages (and reduce wtf moments for other developers), please follow these guidelines. 10 | 11 | - [AOSC OS Topic-Based Maintenance Guidelines](@/developer/packaging/topic-based-maintenance-guideline.md) 12 | - [AOSC OS Package Styling Manual](@/developer/packaging/package-styling-manual.md) 13 | - [Making Use of the Automated Maintenance Infrastructure](@/developer/packaging/buildit-bot.md) 14 | - [Revision Marking Guidelines for Topic Packages](@/developer/packaging/topic-version-suffix.md) 15 | - [AOSC OS Feature Marking Guidelines](@/developer/packaging/feature-marking-guidelines.md) 16 | 17 | Also, you may want to read these documentations about the tools we use. 18 | - [Autobuild3 Manual](@/developer/packaging/autobuild3-manual.md) 19 | - [Autobuild4 Manual](@/developer/packaging/autobuild4/_index.md) 20 | - [Ciel Manual](@/developer/packaging/ciel-manual.md) 21 | 22 | Other useful information of this section: 23 | - [Common Issue and Fixes](@/developer/packaging/quirks.md) describes some issue you may face during packaging and corresponding quirks. 24 | - [Exceptions to the Update Cycles](@/developer/packaging/cycle-exceptions.md) 25 | - [List Of Package Issue Codes](@/developer/packaging/qa-issue-codes.md) 26 | - [Known Patch Release Rules](@/developer/packaging/known-patch-release-rules.md) 27 | - [.NET Lifecycle Policy](@/developer/packaging/dotnet.md) 28 | -------------------------------------------------------------------------------- /content/developer/packaging/_index.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "打包" 3 | +++ 4 | 5 | 您好呀!如果您正在阅读这篇文章,您可能希望参与到 AOSC OS 开发当中。本系列指南将指导您如何创建、更新和维护 AOSC OS 软件包。 6 | 7 | 如果您还没有为 AOSC OS 打过包,我们推荐您首先阅读 [软件包维护入门之基础篇](@/developer/packaging/basics.zh.md)。接下来,您可以继续阅读 [软件包维护入门之进阶篇](@/developer/packaging/advanced-techniques.zh.md) 了解在实际打包过程中经常使用的一些的技术。 8 | 9 | 为了确保构建好的软件包的质量,请遵循下面的这些指南: 10 | 11 | - [AOSC OS 主题制维护指南 (English)](@/developer/packaging/topic-based-maintenance-guideline.md) 12 | - [AOSC OS 软件包样式指南](@/developer/packaging/package-styling-manual.zh.md) 13 | - [使用自动化设施构建软件包](@/developer/packaging/buildit-bot.zh.md) 14 | - [测试源内软件包迭代版本规范](@/developer/packaging/topic-version-suffix.zh.md) 15 | - [AOSC OS 系统特性标记规范](@/developer/packaging/feature-marking-guidelines.zh.md) 16 | 17 | 想要进一步了解我们在打包中常用的一些应用程序,可以阅读下面的文档: 18 | 19 | - [Autobuild3 帮助文档](@/developer/packaging/autobuild3-manual.md) 20 | - [Autobuild4 帮助文档](@/developer/packaging/autobuild4/_index.zh.md) 21 | - [Ciel 帮助文档](@/developer/packaging/ciel-manual.md) 22 | 23 | 您可能也会对本版块的其它文章感兴趣: 24 | 25 | - [常见问题及其解决方案](@/developer/packaging/quirks.zh.md) 26 | - [更新周期例外说明](@/developer/packaging/cycle-exceptions.md) 27 | - [软件包质量测试错误代码注解](@/developer/packaging/qa-issue-codes.zh.md) 28 | - [稳定分支补丁级更新规则说明](@/developer/packaging/known-patch-release-rules.md) 29 | - [.NET 生命周期策略](@/developer/packaging/dotnet.zh.md) 30 | - [glibc HWCAPS 子架构构建指南](@/developer/packaging/hwcaps-packaging-guide.zh.md) 31 | -------------------------------------------------------------------------------- /content/developer/packaging/acbs/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "ACBS" 3 | +++ 4 | 5 | Welcome to acbs’s documentation! 6 | ================================ 7 | 8 | ACBS - The current generation of building toolkit for AOSC OS written in 9 | Python. 10 | 11 | Contents: 12 | 13 | - Introduction 14 | - What is ACBS? 15 | - What happend to ABBS, its ancestor? 16 | - How to install or deploy it? 17 | - Installation 18 | - Get Started 19 | - Requirements 20 | - Initial configurations 21 | - Director’s Cut (DX) Version 22 | - Background 23 | - Version Number 24 | - Behavioral Changes 25 | - ACBS API Reference 26 | - ACBS base 27 | - ACBS deps 28 | - ACBS utils 29 | - Specification Files 30 | - defines 31 | - spec 32 | - Appendix 33 | - Supported VCS 34 | - Acceptable Prefixes for "SRCS" 35 | - Supported Checksum (Hashing) Algorithm 36 | -------------------------------------------------------------------------------- /content/developer/packaging/acbs/_index.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "ACBS" 3 | +++ 4 | 5 | ACBS 帮助中心 6 | ============ 7 | 8 | ACBS - 基于 Python 的 AOSC OS 构建工具集 9 | 10 | 目录: 11 | 12 | - 简介 13 | - ACBS 是什么? 14 | - 和之前的 ABBS 有何不同? 15 | - 如何部署? 16 | - 安装 17 | - 开始 18 | - 依赖项 19 | - 初始化配置 20 | - DX 版本 21 | - 背景 22 | - 版本号 23 | - 行为变动 24 | - ACBS API 25 | - ACBS base 26 | - ACBS deps 27 | - ACBS utils 28 | - 规格文件 29 | - defines 30 | - spec 31 | - 附录 32 | - 支持的版本控制系统 33 | - 支持的 "SRCS" 前缀 34 | - 支持的哈希函数 35 | -------------------------------------------------------------------------------- /content/developer/packaging/acbs/dx.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "ACBS - Director's Cut" 3 | +++ 4 | 5 | Director's Cut (DX) Version 6 | =========================== 7 | 8 | Background 9 | ---------- 10 | 11 | As it was shown in the introduction, ACBS was meant to replace the 12 | original ABBS utility with better reliability and functionalities. 13 | However, later it was clear that ACBS itself was riddled with numerous 14 | bugs and issues. 15 | 16 | After years of disrepair, the original ACBS was apparently beyond 17 | repair. Although the members of the AOSC community were getting used to 18 | the workarounds and quirks of ACBS, a better solution was still much 19 | desired. 20 | 21 | The original author, liushuyu, decided to face on the challenge. It took 22 | him what feels like three months to complete the rewrite, and the result 23 | is then the DX version. 24 | 25 | Version Number 26 | -------------- 27 | 28 | The DX version still uses the same version schema as the original. The 29 | first release of the DX version is version `20200615`. 30 | 31 | Behavioral Changes 32 | ------------------ 33 | 34 | Since the DX version is a complete re-implementation, there are some 35 | changes to its behaviors: 36 | 37 | 1. **Dependency resolution:** The original version uses a dumb 38 | algorithm, which will spawn a new thread to build the dependent 39 | package before the package you requested. The new version will use 40 | the Tarjan search algorithm to determine what and in which order the 41 | dependencies should be built in advance. 42 | 2. **Parser:** The original version uses bash itself to parse the build 43 | files. This is proven to be unreliable. The new version uses 44 | `bashvar.py` from `abbs-meta`. 45 | 3. **Source fetching:** The new version now name the source files using 46 | their checksum hashes to avoid name collisions. The Git repository 47 | is now fetched using the "bare repository" mode, and during the 48 | checkout phase, the repository is checked out using "detached" mode. 49 | In this case, the `.git` folder will not exist in the build 50 | directory. 51 | 4. **Overall reliability:** The new version now uses type checking to 52 | ensure basic stability. No type errors are allowed to pass through 53 | under the newly set up CI system. 54 | -------------------------------------------------------------------------------- /content/developer/packaging/acbs/install.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "ACBS - 安装" 3 | +++ 4 | 5 | 安装 6 | ==== 7 | 8 | 开始 9 | ---- 10 | 11 | ACBS 可以被部署到任何您认为合适的目录中,只需执行 `acbs-build.py` 即可开始安装。在此之前,您需要先安装下文提到的 [依赖项](@/developer/packaging/acbs/install.zh.md#yi-lai-xiang)。您可能还需要为 ACBS 创建一个配置文件,虽然这不是必须的,但我们强烈建议您这么做。 12 | 13 | 如果您在使用 AOSC OS,可以使用软件包管理器安装 ACBS: 14 | 15 | sudo apt install acbs 16 | 17 | 你也可以在 GitHub 取得 ACBS 的源码:。如果您不希望使用 `git` 拉取代码,您可以通过 直接下载。 18 | 19 | 依赖项 20 | ----- 21 | 22 |
23 | 24 | 强制依赖项: 25 | 26 |
27 | 28 | - Python 3 (\>= 3.6):程序运行的基石。 29 | - GNU File (libmagic):文件类型侦测。 30 | - LibArchive (bsdtar):压缩文件管理。 31 | - GNU Wget or Aria2:源码包获取。 32 | - [Autobuild3](https://github.com/AOSC-Dev/autobuild3):软件包构建。 33 | 34 |
35 | 36 | 可选依赖项[1]: 37 | 38 |
39 | 40 | - libmagic:侦测文件类型的 Python 模组。 41 | - pycryptodome:检查校验和的 Python 模组。 42 | - pexpect: 模拟 PTY 会话并将输出记录到文件中的 Python 模组。 43 | 44 | 初始化配置 45 | -------- 46 | 47 | ACBS 使用了类 INI 配置文件以定义需要使用到的树,配置文件储存在 `/etc/acbs/forest.conf`。 48 | 49 | 下面是一个最简单的配置示例: 50 | 51 | [default] 52 | location = /usr/lib/acbs/repo 53 | 54 | 您可以在配置文件中使用变量: 55 | 56 | [vars] 57 | base = /mnt 58 | 59 | [default] 60 | location = ${vars:base}/aosc-os-abbs 61 | 62 | 默认情况下,ACBS 会构建 `[default]` 所定义软件包树中的软件包。您可以通过使用 `-t ` 参数覆盖默认行为。 63 | 64 | [1] 安装可选依赖项可以增强 ACB 的功能,您可以在 PyPI 获取这些依赖。 -------------------------------------------------------------------------------- /content/developer/packaging/acbs/intro.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "ACBS - Introduction" 3 | +++ 4 | 5 | Introduction 6 | ============ 7 | 8 | What is ACBS? 9 | ------------- 10 | 11 | ACBS (AutoBuild CI Build System) is a re-implementation of the original 12 | ABBS (AutoBuild Build Service) in Python. It's a smart upper structure 13 | of the basic Autobuild3 multi-function package builder. 14 | 15 | What happend to ABBS, its ancestor? 16 | ----------------------------------- 17 | 18 | ACBS was first created with an intent to extend upon ABBS and improve 19 | its sorry reliability and agility. ACBS supports multi-tree layouts and 20 | proper environment handling, providing a more reliable and efficient 21 | experience. Comparing to its ancestor, it improved reliability and added 22 | a few more features like an automated dependency resolver. 23 | 24 | How to install or deploy it? 25 | ---------------------------- 26 | 27 | ACBS is only designed to work with Autobuild3 and under Unix-like 28 | environment. The detailed instructions can be found at `install`. 29 | -------------------------------------------------------------------------------- /content/developer/packaging/acbs/intro.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "ACBS - 简介" 3 | +++ 4 | 5 | 简介 6 | === 7 | 8 | ACBS 是什么? 9 | ------------ 10 | 11 | ACBS(全称 AutoBuild CI Build System)是基于 Python 的对 ABBS(全称 AutoBuild Build Service)的一个全新实现。它是 Autobuild3 多功能软件包构建器的一个上部构建。 12 | 13 | 和之前的 ABBS 有何不同? 14 | --------------------- 15 | 16 | ACBS 最初的诞生是为了改善 ABBS 的可靠性和敏捷性,同时为 ABBS 提供拓展。与之前的 ABBS 相比,ACBS 支持森林结构与和多种环境,且提供了更加可靠和高效的功能与体验(例如高度自动化的依赖关系解析程序)。 17 | 18 | 如何部署? 19 | -------- 20 | 21 | ACBS 主要在类 UNIX 系统下和 Autobuild3 配合使用,请阅读帮助中心的安装指引了解详情。 -------------------------------------------------------------------------------- /content/developer/packaging/autobuild4/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Autobuild4" 3 | [taxonomies] 4 | tags = ["dev-sys"] 5 | +++ 6 | 7 | Autobuild4 is a successor to the [previous generation of Autobuild](https://github.com/AOSC-Dev/autobuild). 8 | 9 | Autobuild4 also carries a curated selection of convenience functions. 10 | You can find the descriptions of those in the [API documentation](@/developer/packaging/autobuild4/api.md). 11 | -------------------------------------------------------------------------------- /content/developer/packaging/autobuild4/_index.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Autobuild4" 3 | +++ 4 | 5 | -------------------------------------------------------------------------------- /content/developer/packaging/dotnet.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = ".NET Lifecycle Policy" 3 | description = "" 4 | date = 2020-05-04T03:35:48.616Z 5 | [taxonomies] 6 | tags = ["dev-sys"] 7 | +++ 8 | 9 | > **Attention: The maintenance guideline that this introduction is describing has been deprecated from October 25, 2020.** We've switched to a newly-proposed [Topic-Based Maintenance Guidelines](@/developer/packaging/topic-based-maintenance-guideline.md). Before we update this document, you could refer to that document instead, or stay tuned. 10 | 11 | This policy covers .NET packages in AOSC OS, like `dotnet-*` and `mono`, which are maintained by Microsoft and the .NET community[1][1],[2][2]. 12 | 13 | # .NET Core `dotnet-*` 14 | 15 | .NET Core has 2 [release types](https://dotnet.microsoft.com/platform/support/policy/dotnet-core). 16 | 17 | ## Policy 18 | 19 | - `stable`: Latest LTS release 20 | - `testing`: Latest Current release 21 | 22 | # Mono `mono` 23 | 24 | Mono has 2 [release channels](https://www.mono-project.com/download/). 25 | 26 | ## Policy 27 | 28 | - `stable`: Latest Visual Studio release 29 | - `testing`: Latest Stable release 30 | 31 | # F# + Mono `fsharp` 32 | 33 | F# + Mono is published from [F# Software Foundation's repo](https://github.com/fsharp/fsharp/releases). 34 | 35 | ## Policy 36 | 37 | - `stable`: Latest release 38 | 39 | 42 | 43 | # NuGet + Mono `nuget` 44 | 45 | NuGet has many [distribution versions](https://www.nuget.org/downloads) available. 46 | 47 | ## Policy 48 | 49 | - `stable`: Latest recommended release 50 | 51 | 52 | 53 | [1]: https://docs.microsoft.com/en-us/dotnet/core/ 54 | [2]: https://www.mono-project.com/ 55 | -------------------------------------------------------------------------------- /content/developer/packaging/dotnet.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = ".NET 生命周期策略" 3 | description = "" 4 | date = 2020-05-04T03:35:48.616Z 5 | [taxonomies] 6 | tags = ["dev-sys"] 7 | +++ 8 | 9 | > **注意:本入门所描述的维护指南自 2020 年 10 月 25 日起已被弃用。**我们已经开始实践新提出的[话题制维护指南 (English)](@/developer/packaging/topic-based-maintenance-guideline.md)。在我们更新这篇文档之前,您可以左转阅读那份指南,或者坐等更新。 10 | 11 | 以下的生命周期策略适用于 AOSC OS 中所有的 .NET 软件包,包括微软和 .NET 社区维护的 `dotnet-*` 和 `mono`[\[1\]][1][\[2\]][2]。 12 | 13 | # .NET Core `dotnet-*` 14 | 15 | .NET Core 有两种 [版本类型](https://dotnet.microsoft.com/platform/support/policy/dotnet-core)。 16 | 17 | ## 生命周期策略 18 | 19 | - `stable`:最新长期支持(LTS)版本。 20 | - `testing`:最新(Current)版本。 21 | 22 | # Mono `mono` 23 | 24 | Mono 有两个 [发布频道](https://www.mono-project.com/download/)。 25 | 26 | ## 生命周期策略 27 | 28 | - `stable`:最新 Visual Studio 发布版本。 29 | - `testing`:最新稳定版本。 30 | 31 | # F# + Mono `fsharp` 32 | 33 | F# + Mono 的发布来源是 [F# 软件基金会的 GitHub 仓库](https://github.com/fsharp/fsharp/releases)。 34 | 35 | ## 生命周期策略 36 | 37 | - `stable`:最新版本。 38 | 39 | 42 | 43 | # NuGet + Mono `nuget` 44 | 45 | NuGet 有多个可用的 [发布版本](https://www.nuget.org/downloads)。 46 | 47 | ## 生命周期策略 48 | 49 | - `stable`:最新推荐版本。 50 | 51 | 52 | 53 | [1]: https://docs.microsoft.com/en-us/dotnet/core/ 54 | [2]: https://www.mono-project.com/ 55 | -------------------------------------------------------------------------------- /content/developer/packaging/feature-marking-guidelines.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "AOSC OS Feature Marking Guidelines" 3 | description = "Guidelines for Marking Key AOSC OS Features and Components" 4 | date = 2024-10-17T12:12:56.606Z 5 | [taxonomies] 6 | tags = ["dev-sys"] 7 | +++ 8 | 9 | The Feature Marking Guidelines is designed to mark key system components that 10 | are not considered `Essential` per dpkg, but could be used as referenced for 11 | management frontends such as oma to inform users of the risks of removing 12 | certain packages (those that might impeded system functions and features, more 13 | below). 14 | 15 | With this set of guidelines, users may be better informed about the differences 16 | between system components and applications. This set of guidelines, by 17 | principle, only applies to pre-installed software. 18 | 19 | Packaging 20 | --- 21 | 22 | To mark a package as AOSC OS feature components, use `PKGFTR=` in `defines`: 23 | 24 | ``` 25 | PKGFTR=kde core ... 26 | ``` 27 | 28 | Metadata 29 | --- 30 | 31 | - Repository- and toolchain-side: Add `X-AOSC-Features` markers to select 32 | packages to indicate the relevant system features (recorded in `control` in 33 | the package and `Packages` in the APT repository). 34 | - Introduce `aosc-os-feature-data` to record names and descriptions of the 35 | system features. 36 | 37 | ### Example: control and Packages 38 | 39 | `X-AOSC-Features` may contain multiple items, separated with space; the name 40 | of the feature items shall only contain letters a-z, numbers and dashes (-): 41 | 42 | ``` 43 | Package: plasma-workspace 44 | ... 45 | X-AOSC-Features: kde-graphical-environment multimedia-playback 46 | ``` 47 | 48 | ### Example: aosc-os-feature-data 49 | 50 | The feature metadata is written in TOML, with support for localisation: 51 | 52 | ``` 53 | [kde-graphical-environment] 54 | zh_CN = "KDE 图形界面" 55 | en_US = "KDE graphical environment" 56 | 57 | [multimedia-playback] 58 | zh_CN = "多媒体播放" 59 | en_US = "Multimedia playback" 60 | ``` 61 | -------------------------------------------------------------------------------- /content/developer/packaging/feature-marking-guidelines.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "AOSC OS 系统特性标记规范" 3 | description = "关键系统组件及特性的标记规范" 4 | date = 2024-10-17T12:12:56.606Z 5 | [taxonomies] 6 | tags = ["dev-sys"] 7 | +++ 8 | 9 | 本规范用于标记 Essential 级别以下的关键系统组件,并允许 oma 等前端程序充分告知用户移除相关软件包的风险(即可能影响到的系统功能及特性,详见下文)。实现该功能是为了更直观地让用户了解系统组件及额外应用程序之间的差异,本规范原则上只涉及安同 OS 预装的软件。 10 | 11 | 打包指引 12 | --- 13 | 14 | 如需在打包时标记系统特性,请在 `defines` 文件中添加 `PKGFTR=` 配置: 15 | 16 | ``` 17 | PKGFTR=kde core ... 18 | ``` 19 | 20 | 元数据 21 | --- 22 | 23 | - 工具链及软件源侧:在 `Packages` 加入 `X-AOSC-Features`,列出相关的系统功能 24 | - 引入 `aosc-os-feature-data` 数据,用于记录系统功能名称及简介 25 | 26 | ### 样例:control 及 Packages 元数据 27 | 28 | `X-AOSC-Features` 可包含多个子项(使用空格分割),名称只允许 a-z、数字及 -: 29 | 30 | ``` 31 | Package: plasma-workspace 32 | ... 33 | X-AOSC-Features: kde-graphical-environment multimedia-playback 34 | ``` 35 | 36 | ### 样例:aosc-os-feature-data 37 | 38 | 该数据使用 TOML 格式编写且支持本地化: 39 | 40 | ``` 41 | [kde-graphical-environment] 42 | zh_CN = "KDE 图形界面" 43 | en_US = "KDE graphical environment" 44 | 45 | [multimedia-playback] 46 | zh_CN = "多媒体播放" 47 | en_US = "Multimedia playback" 48 | ``` 49 | -------------------------------------------------------------------------------- /content/developer/packaging/new-package-guidelines.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Guidelines on Introducing New Packages" 3 | description = "As Simple as Yes or No" 4 | date = 2020-08-03T12:01:46.691Z 5 | +++ 6 | 7 | *Fucking hell. If the upstream lets you, then package; no means no. Got it?* 8 | 9 | When introducing new packages to the AOSC OS repository, only one consideration need apply: That the upstream of the software package permits redistribution in such a fashion that AOSC OS maintainers could package and distribute copies of said software. 10 | 11 | AOSC OS maintainers are not responsible for any particular user's application of a software package, and thus will not serve as a basis for accepting or rejecting package requests. 12 | 13 | When in doubt, discuss on a case-by-case basis. 14 | -------------------------------------------------------------------------------- /content/developer/packaging/new-package-guidelines.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "新软件包引入规范" 3 | description = "没啥好说,听上游的" 4 | date = 2020-08-03T12:01:46.691Z 5 | +++ 6 | 7 | **妈的,上游让你分发,你就分发;不让分发,就别分发。懂?** 8 | 9 | 在为 AOSC OS 引入新软件包时,只需考虑:上游的分发许可是否允许 AOSC OS 维护者打包和重分发该软件。 10 | 11 | AOSC OS 不为具体用户的具体行为负责,因此用户行为不宜作为接纳或拒绝软件包引入请求的理由。 12 | 13 | 如有疑惑,请针对具体情况进行讨论。 14 | -------------------------------------------------------------------------------- /content/developer/packaging/qa-issue-codes.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "软件包问题代码速查表" 3 | description = "了解每个问题代码背后的含义" 4 | date = 2020-05-04T03:36:05.233Z 5 | [taxonomies] 6 | tags = ["dev-sys"] 7 | +++ 8 | 9 | # 问题代码 10 | 11 | 为了帮助开发者定位问题,我们将问题代码分为了下面四类: 12 | 13 | - "E" 开头的问题代码意味着这是一个错误。 14 | - "W" 开头的问题代码意味着这是一个警告。 15 | 16 | ## 第一类:元数据 17 | 18 | | 代码 | 含义 | 19 | |-----------|----------------------| 20 | | E101 | `spec` 中有语法错误 | 21 | | E102 | `defines` 中有语法错误 | 22 | | E103 | 软件包名称不合法 | 23 | | E104 | 软件包类别不合法 | 24 | | W111 | 软件包可能过期了 | 25 | | W112 | `SRCTBL` 使用了 HTTP | 26 | | W113 | `SRCTBL` 没有对应的 `CHKSUM` | 27 | | W121 | 提交信息未经格式化 | 28 | | W122 | 单个提交对多个软件包做了修改 | 29 | | W123 | 最近使用了强制推送 | 30 | 31 | ## 第二类:构建流程 32 | 33 | | 代码 | 含义 | 34 | |-----------|----------------------| 35 | | E201 | 无法获取源码 | 36 | | E202 | 无法获取依赖 | 37 | | E211 | 构建失败(FTBFS) | 38 | | E221 | 无法启动生成的可执行文件 | 39 | | W222 | 某个功能不起作用,或单元测试未通过 | 40 | 41 | ## 第三类:产品交付(DEB 软件包) 42 | 43 | | 代码 | 含义 | 44 | |-----------|----------------------| 45 | | E301 | .deb 文件损坏 | 46 | | E(W)302 | .deb 文件过小 | 47 | | E303 | .deb 文件名或存储路径不合法 | 48 | | E311 | .deb 维护者信息不合法 | 49 | | E321 | .deb 中发现放置在非法位置的文件 | 50 | | E(W)322 | .deb 中发现空文件 | 51 | | E(W)323 | .deb 中发现带有错误归属信息的文件 | 52 | | E(W)324 | .deb 中发现带有错误权限信息的文件 | 53 | | E325 | .deb 中某个文件不存在 | 54 | | W331 | 发现超过一年未更新的软件包 | 55 | 56 | ## 第四类:依赖项 57 | 58 | | 代码 | 含义 | 59 | |-----------|----------------------| 60 | | E401 | 无法满足 `BUILDDEP` | 61 | | E402 | 软件包树中发现重复软件包 | 62 | | E411 | 无法满足 `PKGDEP` | 63 | | E412 | 软件仓库中发现重复软件包 | 64 | | E421 | 文件冲突 | 65 | | E431 | 无法满足库文件版本依赖 | 66 | | E432 | `PKGDEP` 缺失库文件依赖 | -------------------------------------------------------------------------------- /content/developer/packaging/quirks.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Common Issues and Fixed" 3 | description = "Some quirks you may use during packaging" 4 | +++ 5 | 6 | # Build fails during linking stage (LTO) 7 | Sometimes the build process fails during the linking stage. It is possible that such errors are caused by LTO (Link-time Optimization). 8 | 9 | LTO can help reduce binary size and increase performance (so AOSC OS has it enabled by default), but it somethimes causes build failures on certain programs. So if you enounter build failures during link stage, you can try to disable LTO via adding this line to `defines` file: 10 | 11 | ```bash 12 | NOLTO=1 13 | ``` 14 | 15 | # `autotools` complains about lacking `install-sh`, source code file not found, source already configured, and etc. 16 | By default, `autobuild3` creates a `build` directory and build inside it (this is called *Shadow build*). However, some source codes doesn't work in such configuration. 17 | 18 | To disable this behavior, add this to the `defines` file: 19 | 20 | ```bash 21 | ABSHADOW=0 22 | ``` 23 | 24 | # `ld` errors when building Rust software 25 | Rust uses `LLVM` as its backend. So it may encounter some issue when linking to `gcc` compiled objects. Try adding this to the `defines` file: 26 | 27 | ```bash 28 | USECLANG=1 29 | ``` 30 | -------------------------------------------------------------------------------- /content/developer/packaging/quirks.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "常见问题及其解决方案" 3 | description = "打包过程中可能会遇到的一些问题" 4 | +++ 5 | 6 | # 构建在链接阶段失败(LTO) 7 | 8 | 有时,构建过程在链接阶段失败。这种错误可能是由 LTO(链路时间优化)引起的。 9 | 10 | LTO 可以有效减少二进制包大小并提升性能,因此 AOSC OS 在默认情况下启用了它。但有些时候 LTO 会导致某些程序构建失败。因此,如果您在链接阶段遇到构建失败,可以尝试在 `defines` 文件中添加以下内容禁用 LTO: 11 | 12 | ```bash 13 | NOLTO=1 14 | ``` 15 | 16 | # 构建 Rust 应用程序时出现与 `ld` 相关的错误 17 | 18 | Rust 使用 `LLVM` 作为后端。因此,在将其链接到使用 `gcc` 编译的对象时可能会遇到一些问题。请尝试在 `defines` 文件中添加: 19 | 20 | ```bash 21 | USECLANG=1 22 | ``` 23 | -------------------------------------------------------------------------------- /content/developer/packaging/topic-based-tooling-infra-changes.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Tooling and Infrastructural Changes Required for the Topic-Based Transition (RFC)" 3 | description = "Preparing for the New Iteration System" 4 | date = 2020-05-04T03:35:53.850Z 5 | [taxonomies] 6 | tags = ["dev-sys"] 7 | +++ 8 | 9 | # Tooling 10 | 11 | This section describes changes and additions required for our tools in order 12 | to adapt to a topic-based iteration system. 13 | 14 | ## apt-gen-list 15 | 16 | - [ ] Drop branch setting (the `b` parameter), as this is no longer needed. 17 | - Topic enrollment/withdrawal is to be implemented in a TUI topic manager. 18 | 19 | ## topic-manager 20 | 21 | - [ ] Name this tool. 22 | - [ ] Settle on a schema for an automatically generated repository manifest, 23 | which describes a list of topics, and each of their description and list 24 | of package(s) affected. 25 | - [ ] Implementation. 26 | - [ ] Updates topic listing from generated manifest(s) upon launch. 27 | - [ ] Lists topics, descriptions, and list of package(s) affected in a 28 | multi-selection fashion. 29 | - [ ] Enrolls (generates respective APT source list(s)) in topic(s), and 30 | automatically updates system. 31 | - [ ] Withdrawal based on list of package(s) affected, checked against 32 | packages installed on current system. Using APT to downgrade 33 | packages. 34 | 35 | # Infrastructure 36 | 37 | This section describes changes and additions required for our infrastructures 38 | in order to adapt to a topic-based iteration system. 39 | 40 | ## Iteration Editor 41 | 42 | - [ ] TODO: Liushuyu input needed. 43 | 44 | ## Packages 45 | 46 | - [ ] Drop display of branches in the front page, instead, only display 47 | single-line architectural statistics. 48 | - [ ] Create a information page containing all topics? List each non-Retro 49 | architectural progression? 50 | -------------------------------------------------------------------------------- /content/developer/packaging/topic-version-suffix.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "测试源内软件包迭代版本规范" 3 | description = "自动化标记测试用软件迭代更新" 4 | +++ 5 | 6 | 长期以来,在测试源 (topic) 内修订软件包及从测试源到稳定源 (stable) 推送更新的流程中存在修订历史不清的问题。这一问题也会为参与测试的用户和维护者带来困扰:由于未使用软件包版本标记修订且多次同版本覆盖软件包,用户及开发者往往无法正确接收软件更新推送(因为 APT 更新检查逻辑查验的软件包版本甚至大小都可能未发生变化)。 7 | 8 | 目前的工作流中出现此种同版本覆盖的场景主要有如下两种: 9 | 10 | - 重复推送在测试过程中多次修订的软件包 11 | - 测试源合并时推送稳定源更新 12 | 13 | 本规范通过设计一套针对预发布软件包修订版本标注的规范解决上述问题,让测试流程及稳定源推送前后各软件包修订都得到充分标注。 14 | 15 | 预发布软件包修订版本标注 16 | === 17 | 18 | 本规范针对预发布软件包定义如下修订版本 (`REL`) 标注规范: 19 | 20 | ``` 21 | ${VER}-${REL}~pre${ISO_8601-1_2019_TIMESTAMP} 22 | ``` 23 | 24 | 实际软件包版本示例如下: 25 | 26 | ``` 27 | 5.2.21-0~pre20240731T142407Z 28 | ``` 29 | 30 | 修订版本号具体包含如下几个部分: 31 | 32 | - `${REL}`:主修订版本号,每个测试源到稳定源的修订更新原则上只递增一位;更新版本时复位为 0(惯例为不指定) 33 | - `~pre`:预发布标记,标记软件包为预发布版本(说明该软件包来自测试源) 34 | - `${ISO_8601-1_2019_TIMESTAMP}`:软件包在 ABBS 树上对应的最新 Git 提交(注意是 commit 而非 author)时间戳,随着时间推移自然递增 35 | 36 | 基于未提交更改 (dirty) 打包 37 | --- 38 | 39 | 如果在发起打包时 ABBS 树中存在没有提交的修改(Git 仓库处于 “dirty” 状态),则上述时间戳为发起构建的时间戳,并加上 `~dirty` 后缀: 40 | 41 | ```sh 42 | vim core-libs/glibc/build 43 | # 此时 ABBS 树处于 dirty 状态 44 | ciel build -i main glibc # ACBS 于 2024-08-05 10:40:15 +0800 运行 45 | # ACBS 注入的版本号应为 `2.40-0~pre20240805T024015Z~dirty` 46 | ``` 47 | 48 | 原理说明 49 | --- 50 | 51 | 该规范的实现原理非常简单,具体为两点: 52 | 53 | - 推送稳定源时,利用 dpkg 版本比较逻辑中 `~` 符号标记预发布的标注规范,使得测试过程中 `${REL}~pre${ISO_8601-1_2019_TIMESTAMP}` 一直小于稳定源推送的软件包的目标修订号 `REL` 54 | - 修订测试源中的软件包时,利用 `${ISO_8601-1_2019_TIMESTAMP}` 时间戳会根据 Git 提交时间戳自然递增的原理,使得修订的软件包每次都被当作更新推送给用户 55 | 56 | 工具调整 57 | === 58 | 59 | 落实该版本规范只需对 ACBS 进行修改。 60 | 61 | 在安同 OS 的维护流程中,ACBS 会通过 `generate_metadata()` 函数探测 Git 提交 ID 并记录到软件包中的 `X-AOSC-Commit` 元数据中。我们可以利用类似的方式记录 Git 提交时间戳,并以 `REL` 的形式补充到软件包的 `spec` 源码描述文件中,实现上述版本标记。 62 | -------------------------------------------------------------------------------- /content/developer/projects/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Projects" 3 | [extra] 4 | list_section = false 5 | +++ 6 | 7 | This page is the list of projects. 8 | 9 | A project can be: 10 | 11 | - Developing a software 12 | - Maintaining a series of packages 13 | - Other collaborated activities for this distro 14 | 15 | # Ciel 16 | 17 | - Maintainers: liushuyu 18 | - Repo: [AOSC-Dev/ciel-rs](https://github.com/AOSC-Dev/ciel-rs) 19 | - Status: Normal 20 | 21 | A tool for controlling AOSC OS packaging environments using multi-layer filesystems and containers. 22 | 23 | # Ciel-Layman 24 | 25 | - Maintainers: Neruthes 26 | - Repo: [AOSC-Dev/ciel-layman](https://github.com/AOSC-Dev/ciel-layman) 27 | - Status: **Early WIP**, help wanted 28 | 29 | Overlay management tool for AOSC OS. Works with Ciel and ACBS. 30 | 31 | # systemd-boot-friend 32 | 33 | - Maintainers: Kaiyang Wu (OriginCode) 34 | - Repo: [AOSC-Dev/systemd-boot-friend-rs](https://github.com/AOSC-Dev/systemd-boot-friend-rs) 35 | - Status: Normal 36 | 37 | # Wallpapers 38 | 39 | - Maintainers: liushuyu, Neruthes 40 | - Repo: 41 | - [AOSC-Dev/community-wallpapers](https://github.com/AOSC-Dev/community-wallpapers) 42 | - [AOSC-Dev/WallColle](https://github.com/AOSC-Dev/WallColle) 43 | - [AOSC-Dev/WallColle-make](https://github.com/AOSC-Dev/WallColle-make) 44 | - Status: Normal 45 | 46 | A series of repositories (data and program) for managing wallpapers for AOSC OS. 47 | 48 | # Others 49 | 50 | More should be added here... 51 | -------------------------------------------------------------------------------- /content/developer/rfc/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "RFC" 3 | [extra] 4 | list_section = true 5 | +++ 6 | -------------------------------------------------------------------------------- /content/developer/rfc/_index.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "征求意见稿 (RFC)" 3 | [extra] 4 | list_section = true 5 | +++ 6 | -------------------------------------------------------------------------------- /content/developer/rfc/rfc-index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "RFC Library" 3 | description = "The AOSC Library of RFC Drafts." 4 | date = 2022-07-13 5 | +++ 6 | 7 | RFC Library 8 | =========== 9 | 10 | Here you will find a series of ongoing RFC (Request for Comments) documents, 11 | which, after drafting, revision, and discussion, will become basis for 12 | implementing AOSC features, guidelines, and standards. 13 | 14 | - [RFC: Specification for Topic Update Manifest](https://gist.github.com/MingcongBai/912e778216aad58cf504713dcd4898cc) 15 | - [RFC: AOSC Development/Maintenance Guidelines](https://docs.google.com/document/d/1PTUldyg88yyuYsewpbtvvTk2MCQ_Toy3cEGmrxeOXpk/) 16 | - [RFC: AOSC Integrated Tests Standard](https://docs.google.com/document/d/1RHzh80WpREPrxN72-MtpXLKP9OnA_QbBjJP86TRDkQA/) 17 | - [RFC: AOSC OS ARM/RISC-V Release Policy](https://docs.google.com/document/d/1jbRz3ZYgKZokHC9jpHDfYccTnLDt1rw3xXMS-HEGMbU/) 18 | - [RFC: Package Policy Violation Notice Guidelines](https://docs.google.com/document/d/1TBtWwNYjsXopRo-ZddHTbNtPVJqEjnSXzNfO7Y7ouMw/) 19 | 20 | -------------------------------------------------------------------------------- /content/developer/rfc/rfc-index.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "RFC 索引" 3 | description = "安同开源社区征求意见稿博物馆" 4 | date = 2022-07-13 5 | +++ 6 | 7 | RFC 索引 8 | ======== 9 | 10 | 如下为我社征求意见稿 (RFC) 索引。下述文档为 AOSC 特性、规则及标准的基础文档。 11 | 12 | - [RFC: Specification for Topic Update Manifest](https://gist.github.com/MingcongBai/912e778216aad58cf504713dcd4898cc) 13 | - [RFC: AOSC Development/Maintenance Guidelines](https://docs.google.com/document/d/1PTUldyg88yyuYsewpbtvvTk2MCQ_Toy3cEGmrxeOXpk/) 14 | - [RFC: AOSC Integrated Tests Standard](https://docs.google.com/document/d/1RHzh80WpREPrxN72-MtpXLKP9OnA_QbBjJP86TRDkQA/) 15 | - [RFC: AOSC OS ARM/RISC-V Release Policy](https://docs.google.com/document/d/1jbRz3ZYgKZokHC9jpHDfYccTnLDt1rw3xXMS-HEGMbU/) 16 | - [RFC: Package Policy Violation Notice Guidelines](https://docs.google.com/document/d/1TBtWwNYjsXopRo-ZddHTbNtPVJqEjnSXzNfO7Y7ouMw/) 17 | 18 | -------------------------------------------------------------------------------- /content/developer/scriptlets-maintenance-manual.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "[RFC] Scriptlets Maintenance Manual" 3 | description = "" 4 | date = 2020-07-17T02:41:06.700Z 5 | [taxonomies] 6 | tags = ["dev-sys"] 7 | +++ 8 | 9 | # Rationale 10 | 11 | Our [scriptlets](https://github.com/AOSC-Dev/scriptlets) repository, as it stands, lacks clear guidelines for introduction and maintenance procedures. As a result, this repository is littered with scripts without documentation and proper licensing declarations. 12 | 13 | This manual intends to define such procedures, and also describe rules intentionally omitted (and the reasoning for such omissions). 14 | 15 | # What is a "Scriptlet" 16 | 17 | A scriptlet is a script that provides a (very) specific functionality, which works with a larger project. For instance, our `pushpkg` script works with our packaging toolset (Autobuild3, ACBS, and Ciel) and repository infrastructure (LDAP account authentication, uploading, etc). 18 | 19 | These scripts are often small and does not warrant a full GitHub repository (or really, a project) to maintain and improve. They are therefore collected in our [scriptlets](https://github.com/AOSC-Dev/scriptlets) repository. 20 | 21 | # Introducing New Scriptlets 22 | 23 | Since scriptlets are small, they could be introduced without much process. However, several procedures should be observed to maintain relative orderliness in the repository. 24 | 25 | Individual scriptlet, or a group of (tightly) related scriptlets... 26 | 27 | - Must be put under each of their own sub-directory (or submodule, if applicable). 28 | - Must have their own appropriate licensing document, *not inheriting* from the parent project as a whole. 29 | - Must at least have a README document to describe its functionality and usage. 30 | - If derived from another project, must specify its origin(s) (citation). 31 | 32 | # Maintaining Scriptlets 33 | 34 | Maintainers may take their liberty in how their own scriptlet(s) should be maintained. However, such maintenance procedures *must be documentated* in a README or CONTRIBUTING document. This is to prevent an orphaned (but possibly useful) scriptlet from being left unmaintainable. -------------------------------------------------------------------------------- /content/developer/scriptlets-maintenance-manual.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "小型脚本维护指南(征求意见稿)" 3 | description = "" 4 | date = 2020-07-17T02:41:06.700Z 5 | [taxonomies] 6 | tags = ["dev-sys"] 7 | +++ 8 | 9 | # 写在前面 10 | 11 | 我们的 [scriptlets](https://github.com/AOSC-Dev/scriptlets) 仓库存放着大量的小型脚本。然而最开始的时候,仓库中不少脚本缺少文档和许可声明,使得后续的维护变得是否困难。因此,我们建立了这个文档,旨在规范小型脚本的引入和维护流程。 12 | 13 | # 何为小型脚本 14 | 15 | 我们认为,每一个小型脚本都应该恰好提供一个非常明确的功能,它们最终都是为大型项目服务的。例如我们的 `pushpkg` 脚本就常与打包工具(如 Autobuild3、ACBS 和 Ciel)和软件仓库基础设施(如 LDAP 账户验证、文件上传等等)配合使用。 16 | 17 | 通常情况下,为每一个小型脚本分别建立仓库是没有必要的,我们就会将这些小型脚本收录到我们的 [scriptlets](https://github.com/AOSC-Dev/scriptlets) 仓库。 18 | 19 | # 引入小型脚本 20 | 21 | 既然是小型脚本,将它们添加到我们的仓库中并不是什么难事。但是,为了保持 [scriptlets](https://github.com/AOSC-Dev/scriptlets) 仓库的相对有序性,引入流程应该遵循下面的要求: 22 | 23 | 24 | 每一个脚本(或每一组有着紧密关系的脚本组)... 25 | 26 | - 必须放置在独立的目录(或子模块)中。 27 | - 必须有独立且合适的许可证文件,而不能直接继承父项目的许可证。 28 | - 必须要有一个或多个自述文档来描述其功能和用法。 29 | - 如果引用自其它的项目,必须标明其来源。 30 | 31 | # 维护小型脚本 32 | 33 | 维护者可以自行决定如何维护自己的小型脚本,但是维护者必须在脚本的自述文档或贡献指南中给出具体的维护流程,这样做是为了保证脚本的持续维护。 -------------------------------------------------------------------------------- /content/meta/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "AOSC Wiki Meta" 3 | insert_anchor_links = "right" 4 | +++ 5 | 6 | This section include information about this wiki site itself, including tutorials on how to create and maintain a wiki entry and some development resources about the wiki. 7 | -------------------------------------------------------------------------------- /content/meta/_index.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "AOSC Wiki Meta" 3 | insert_anchor_links = "right" 4 | +++ 5 | 6 | 本版块将收录 AOSC Wiki 本身的相关信息,包括「如何创建和维护维基条目」的教程以及一些维基开发相关的资源。 7 | -------------------------------------------------------------------------------- /content/meta/shortcode_showcase.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Shortcode Showcase" 3 | description = "All available shortcodes in a page." 4 | +++ 5 | 6 | # Cards 7 | Used to provide clear visual standouts to show that there's something to pay attention to. 8 | ## Warning 9 | ```markdown 10 | {%/* card(type="warning") */%} 11 | Here is some warning messages in a card. 12 | {%/* end */%} 13 | ``` 14 | {% card(type="warning") %} 15 | Here is some warning messages in a card. 16 | {% end %} 17 | 18 | ## Success 19 | ```markdown 20 | {%/* card(type="success") */%} 21 | Here is some success messages in a card. 22 | {%/* end */%} 23 | ``` 24 | {% card(type="success") %} 25 | Here is some success messages in a card. 26 | {% end %} 27 | 28 | ## Info 29 | ```markdown 30 | {%/* card(type="info") */%} 31 | Here is some info in a card. 32 | {%/* end */%} 33 | ``` 34 | {% card(type="info") %} 35 | Here is some info in a card. 36 | {% end %} 37 | 38 | ## Danger 39 | ```markdown 40 | {%/* card(type="danger") */%} 41 | Here is some danger messages in a card. 42 | {%/* end */%} 43 | ``` 44 | {% card(type="danger") %} 45 | Here is some danger messages in a card. 46 | {% end %} 47 | 48 | # Section 49 | Used in the index of this Wiki, used to show highlight links. 50 | 51 | ```markdown 52 | {%/* section(name="AOSC OS") */%} 53 | [Is AOSC OS Right for Me?](/aosc-os/is-aosc-os-right-for-me) 54 | Finding Your Best Fit (or Not) 55 | 56 | [Installation Guides](/aosc-os/installation/) 57 | Installing AOSC OS on Your Device 58 | 59 | [AOSC OS/Retro](/aosc-os/retro/intro) 60 | Enjoying AOSC OS on Your Retro Devices 61 | {%/* end */%} 62 | ``` 63 | 64 | And here's the result (section number will not display on the index page): 65 | {% section(name="AOSC OS") %} 66 | [Is AOSC OS Right for Me?](/aosc-os/is-aosc-os-right-for-me) 67 | Finding Your Best Fit (or Not) 68 | 69 | [Installation Guides](/aosc-os/installation/) 70 | Installing AOSC OS on Your Device 71 | 72 | [AOSC OS/Retro](/aosc-os/retro/intro) 73 | Enjoying AOSC OS on Your Retro Devices 74 | {% end %} 75 | -------------------------------------------------------------------------------- /content/software/00001-apt-gen-list.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "SYS-KB-00001: Configuration of APT Repositories" 3 | description = "Information on Enabling or Disabling APT Repositories on AOSC OS" 4 | date = 2020-05-04T03:37:24.248Z 5 | [taxonomies] 6 | tags = ["sys-kb"] 7 | +++ 8 | 9 | # APT Configuration 10 | 11 | This page describes the `apt-gen-list` utility pre-installed with AOSC OS. This utility is used to configure (enable or disable) mirrors used for APT software repositories, and to generate `/etc/apt/sources.list` for APT to use. This could be handy, with knowledge of fastest repository mirrors at your location. 12 | 13 | Shown below is the original usage message for this utility: 14 | 15 | ``` 16 | Usage: apt-gen-list [stdout] [m [-|+]MIRROR1 ...] [c [-|+]COMP1 ...] [b BRANCH] 17 | apt-gen-list now 18 | apt-gen-list avail 19 | apt-gen-list help 20 | 21 | Keywords: 22 | "mirror" is equivalent to "m"; 23 | "branch" is equivalent to "b"; 24 | "component" is equivalent to "c". 25 | 26 | Examples: 27 | 1. To set mirrors to "origin" and "baz": 28 | # apt-gen-list mirror origin baz 29 | 30 | 2. To disable mirror "origin": 31 | # apt-gen-list mirror -origin 32 | 33 | 3. To enable component "opt-avx2" and disable "bsp-sunxi": 34 | # apt-gen-list c +opt-avx2 -bsp-sunxi 35 | 36 | 4. To set the branch to "testing": 37 | # apt-gen-list b testing 38 | 39 | 5. To set the branch to "testing" and enable component "bsp-sunxi": 40 | # apt-gen-list branch testing component +bsp-sunxi 41 | 42 | 6. To disable component "main": 43 | # apt-gen-list c -main 44 | => This is a no-op because "main" is mandatory 45 | 46 | 7. To reset everything to default values: 47 | # apt-gen-list m b c 48 | => It is equivalent to 49 | # apt-gen-list mirror origin branch stable component main 50 | 51 | 8. To re-generate sources.list: 52 | # apt-gen-list 53 | ``` 54 | -------------------------------------------------------------------------------- /content/software/00001-apt-gen-list.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "SYS-KB-00001:APT 软件源配置" 3 | description = "在 AOSC OS 启用或禁用一个软件源" 4 | date = 2020-08-07T12:35:35.984Z 5 | [taxonomies] 6 | tags = ["sys-kb"] 7 | +++ 8 | 9 | # APT 配置 10 | 11 | 本页面将介绍 AOSC OS 预装的 `apt-gen-list` 工具。这一工具允许您启用和禁用 APT 软件源,并帮助您修改 `/etc/apt/sources.list` 以使改动生效。如果您知道在您所在的位置哪个软件源速度最快,那么这个工具使用起来将会是非常方便的。 12 | 13 | 下面是这个工具自带的中文帮助信息: 14 | 15 | ``` plain 16 | 用法:apt-gen-list [stdout] [m [-|+]镜像1 ...] [c [-|+]组件1 ...] [b 分支] 17 | apt-gen-list now 18 | apt-gen-list avail 19 | apt-gen-list help 20 | 21 | 关键字: 22 | “mirror”与“m”等价; 23 | “branch”与“b”等价; 24 | “component”与“c”等价。 25 | 26 | 示例: 27 | 1. 将镜像源设置为 origin 和 baz: 28 | # apt-gen-list mirror origin baz 29 | 30 | 2. 禁用镜像源 origin: 31 | # apt-gen-list mirror -origin 32 | 33 | 3. 启用 opt-avx2 组件并禁用 bsp-sunxi 组件: 34 | # apt-gen-list c +opt-avx2 -bsp-sunxi 35 | 36 | 4. 设置分支为 testing: 37 | # apt-gen-list b testing 38 | 39 | 5. 设置分支为 testing 并启用 bsp-sunxi 组件: 40 | # apt-gen-list branch testing component +bsp-sunxi 41 | 42 | 6. 禁用 main 组件: 43 | # apt-gen-list c -main 44 | => 这个操作没有任何效果,main 是必选组件。 45 | 46 | 7. 全部重置为默认值: 47 | # apt-gen-list m b c 48 | => 它等价于: 49 | # apt-gen-list mirror origin branch stable component main 50 | 51 | 8. 重新生成一遍 sources.list 52 | # apt-gen-list 53 | 54 | ``` 55 | -------------------------------------------------------------------------------- /content/software/00002-imchooser.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "SYS-KB-00002: Configuration of Input Methods" 3 | description = "Configuring Input Methods in AOSC OS Desktop Environments" 4 | date = 2020-05-04T03:37:26.674Z 5 | [taxonomies] 6 | tags = ["sys-kb"] 7 | +++ 8 | 9 | Several input method engines are available for use with AOSC OS: 10 | 11 | - Fcitx, [homepage](https://fcitx-im.org/). 12 | - IBus, [homepage](https://github.com/ibus/ibus/wiki). 13 | - SCIM, [homepage](https://github.com/scim-im). 14 | 15 | # Installing an Input Method 16 | 17 | To install an input method framework and its input method plugins, use `sudo apt install` to install one of the following packages... 18 | 19 | - Fcitx, `fcitx-base`. 20 | - IBus, `ibus-base`. 21 | - SCIM, `scim-base`. 22 | 23 | # Activating an Input Method 24 | 25 | To activate a specific input method engine for the current user, run the following command as the **current user**: 26 | 27 | ``` 28 | $ imchooser ${IM} 29 | ``` 30 | 31 | `${IM}` here could be any of the following values: 32 | 33 | - `fcitx`, for Fcitx. 34 | - `ibus`, for IBus. 35 | - `scim`, for SCIM. 36 | 37 | Finally, re-login for the changes to take effect. 38 | -------------------------------------------------------------------------------- /content/software/00002-imchooser.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "SYS-KB-00002:输入法配置" 3 | description = "在 AOSC OS 桌面环境下配置输入法" 4 | date = 2020-08-09T08:23:11.946Z 5 | [taxonomies] 6 | tags = ["sys-kb"] 7 | +++ 8 | 9 | 在 AOSC OS,您可以选用下面的三种输入法框架的任意一种: 10 | 11 | - [Fcitx](https://fcitx-im.org/)(Flexible Input Method Framework)。 12 | - [IBus](https://github.com/ibus/ibus/wiki)(Intelligent Input Bus)。 13 | - [SCIM](https://github.com/scim-im)(Smart Common Input Method)。 14 | 15 | # 安装一个输入法框架 16 | 17 | 要安装一个输入法框架和输入方案插件,使用 `sudo apt install` 安装下面任意一个软件包即可: 18 | 19 | > Fcitx 5 仍在开发中,如果您希望抢先预览,可以安装 `fcitx5*`。安装 `fcitx-base` 将得到 Fcitx 4。 20 | 21 | - Fcitx,`fcitx-base`。 22 | - IBus,`ibus-base`。 23 | - SCIM,`scim-base`。 24 | 25 | # 激活输入法框架 26 | 27 | 要为当前用户设置默认的输入法框架,使用**当前用户**的身份运行下面的命令: 28 | 29 | ``` 30 | $ imchooser ${IM} 31 | ``` 32 | 33 | `${IM}` 可以被替换为下面的值: 34 | 35 | - `fcitx`,指代 Fcitx 4。 36 | - `fcitx5`,指代 Fcitx 5。 37 | - `ibus`,指代 IBus。 38 | - `scim`,指代 SCIM。 39 | 40 | 您可能需要注销并重新登录以使改动生效。 41 | -------------------------------------------------------------------------------- /content/software/00003-jack-configuration.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "SYS-KB-00003:JACK 配置" 3 | description = "在 AOSC OS 上使用 JACK 音频工具" 4 | date = 2020-05-04T03:37:29.098Z 5 | [taxonomies] 6 | tags = ["sys-kb"] 7 | +++ 8 | 9 | # JACK 10 | 11 | JACK 是一个低延迟的声音工具包。它提供内置的 DSP、音频服务和音频路由,以满足您日常使用和专业音频制作的需要。然而,鉴于此软件包的性质,我们不可能提供一个现成的配置来满足您的需要。 12 | 13 | # 安装和配置 14 | 15 | 您可以在 AOSC OS 的软件仓库找到 JACK: 16 | 17 | ``` 18 | sudo apt install jack 19 | ``` 20 | 21 | 但 JACK 也不是完全开箱可用的,要想 JACK 工作,您需要: 22 | 23 | - 使用 `sudo usermod -aG audio ` 命令将您自己添加到 `audio` 用户组。 24 | - (可选)为了提升您的使用体验,我们建议您安装 `cadence` 来为 JACK 提供一个 GUI 前端。 25 | - 注销并重新登陆以应用更改。 26 | - 使用 `jack_control start` 启动 JACK。如果您安装了 `cadence`,您可以直接运行 `cadence` 并点击窗口右侧的 `Start` 按钮。 27 | - 启动需要 JACK 的应用程序。 28 | 29 | # 常见问题 30 | 31 | ## JACK 报错:`Cannot lock down XXX byte memory area (Cannot allocate memory)` 32 | - 成因:锁定内存限制低。 33 | - 解决方案:尝试重新执行上面提到的步骤一和步骤三。 34 | 35 | ## JACK 报错:`Cannot use real-time scheduling (RR/5)(1: Operation not permitted)` 36 | - 成因:实时优先级很低。 37 | - 解决方案:尝试重新执行上面提到的步骤一和步骤三。 38 | 39 | ## JACK 已在运行,但仍然没有声音 40 | 41 | - 成因 1:JACK 运行时出错。请查看日志(如果您安装了 `cadence`,点击 `Tools -> View JACK, A2J and LADISH logs` 即可查看),并查看错误消息是否与上述类似。 42 | - 成因 2:如果 JACK 能正常运行(配置没出错,JACK 没有报错,没有 Xrun),请检查 JACK 是否使用了正确的声卡、音频设备和输出设备。如果您安装了 `cadence`,则可以前往 `System -> Configure -> Driver -> ALSA` 找到 `Driver/Interface` 选项并检查您的设定是否正确。如果您没有安装 `cadence`,您可以执行 `jack_control dpd` 来查看当前探测到的音频接口,并使用 `jack_control dps ` 设置音频接口。 43 | - 成因 3:如果 JACK 能正常运行(配置没出错,JACK 没有报错,没有 Xrun),也使用了正确的音频接口,请检查音频路由设置是否正确。如果您安装了 `cadence`,则可以前往 `Tools -> Catia` 并检查应用程序播放端口是否连接到了系统。 44 | - 成因 4:如果您的应用程序使用 ALSA 或 PulseAudio,请检查 JACK 桥接器是否已启用,并检查其日志以查看它们是否在建立桥接时遇到困难。如果使用的是 PulseAudio,请确保 `JACK Bridges -> PulseAudio` 处于运行状态,`Stop` 按钮下方有一个 `...` 菜单,请确保您在该处选择 `Playback mode only`。接下来再次点击 `Stop`,此时您会看到它自动重新启动桥接。 45 | 46 | ## JACK 已在运行,但是我的声音散射或失真 47 | 48 | - 成因:您的缓冲区大小太小,设备无法及时处理信号。 49 | - 解决方案:增加缓冲区大小和延迟,或者升级设备硬件。 50 | 51 | # 已知问题 52 | 53 | - 如果您在使用版本低于 `1.9.11rc1-1` 的 JACK,那么它将不会工作。这是我们打包失误造成的,烦请您将 JACK 升级到最新版本。 -------------------------------------------------------------------------------- /content/software/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Software" 3 | template = "softwares.html" 4 | insert_anchor_links = "right" 5 | +++ 6 | 7 | -------------------------------------------------------------------------------- /content/software/_index.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "软件" 3 | template = "softwares.html" 4 | insert_anchor_links = "right" 5 | +++ 6 | 7 | -------------------------------------------------------------------------------- /content/software/firefox/_index.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Firefox" 3 | template = "software.html" 4 | insert_anchor_links = "right" 5 | [extra] 6 | software_category = "Web Browser" 7 | upstream_url = "https://www.mozilla.org/en-US/firefox/new/" 8 | package_site_url = "https://packages.aosc.io/packages/firefox" 9 | +++ 10 | 11 | Firefox is a popular open source graphical web browser from Mozilla. 12 | -------------------------------------------------------------------------------- /content/software/firefox/_index.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Firefox" 3 | template = "software.html" 4 | insert_anchor_links = "right" 5 | [extra] 6 | software_category = "网络浏览器" 7 | upstream_url = "https://www.mozilla.org/en-US/firefox/new/" 8 | package_site_url = "https://packages.aosc.io/packages/firefox" 9 | +++ 10 | 11 | Firefox 是 Mozilla 开发的网络浏览器。 12 | -------------------------------------------------------------------------------- /content/software/firefox/dark-mode.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Global Dark Mode" 3 | [extra] 4 | article_type = "Tricks" 5 | +++ 6 | 7 | To enable dark mode throughout Firefox, enter `about:config` and add a field named `ui.systemUsesDarkTheme` as an integer. Set this field to 1 for forced dark and 0 for forced light. 8 | 9 | This field will change the media query result for web pages (you will notice this site goes dark) and also built-in Firefox pages (like the Add-on menu and such). 10 | -------------------------------------------------------------------------------- /content/software/firefox/dark-mode.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "全局暗色模式" 3 | [extra] 4 | article_type = "技巧" 5 | +++ 6 | 7 | 要为 Firefox 启用全局暗色模式,访问 `about:config` 并添加一个叫做 `ui.systemUsesDarkTheme` 的整数型字段并将其赋值为 1。如果你想切换回全局亮色模式,将这个整数项赋值为 0 即可。 8 | 9 | 这个字段将直接影响到网页和 Firefox 内置页面的显示效果(在启用全局暗色模式之后,您会注意到这个网站也会随之变为暗色模式)。 10 | -------------------------------------------------------------------------------- /content/software/firefox/vaapi.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "Enable VA-API" 3 | [extra] 4 | article_type = "Tricks" 5 | +++ 6 | 7 | Starting from 78, Firefox supports VA-API (starting from 80, if you are using Xorg), but the feature is not enabled by default. 8 | 9 | To turn on VA-API capability: 10 | 11 | 0. Make sure VA-API is working in the first place. You can check VA-API status via installing `libva-utils` and run `vainfo`. 12 | 1. Enable `WebRender`. Go to `about:config` and search for `gfx.webrender.all`, set it to `true`. If it doesn’t work, you can open `OpenGL compositor`, Go to `about:config` and search for `layers.acceleration.force-enabled`, set it to `true`. 13 | 2. Also in `about:config`, set `media.ffmpeg.vaapi.enabled` to `true`. 14 | 3. Also in `about:config`, set `media.ffvpx.enabled` to `false`. 15 | 4. If you are using Xorg, set environmental variable `MOZ_X11_EGL=1` 16 | 5. If you are using Wayland, set environmental variable `MOZ_ENABLE_WAYLAND=1`. 17 | -------------------------------------------------------------------------------- /content/software/firefox/vaapi.zh.md: -------------------------------------------------------------------------------- 1 | +++ 2 | title = "启用 VA-API" 3 | [extra] 4 | article_type = "技巧" 5 | +++ 6 | 7 | Firefox 78 或更高版本为 VA-API 提供了支持(如果您在使用 Xorg,则是 80 或更高版本),但这个特性在默认情况下没有被启用。 8 | 9 | 要启用 VA-API 支持: 10 | 11 | 0. 首先您要确认 VA-API 可以正常工作。您可以通过安装 `libva-utils` 并运行 `vainfo` 了解工作状态。 12 | 1. 启用 `WebRender`。前往 `about:config` 并将 `gfx.webrender.all` 设置为 `true`。如果这不奏效,您可以打开 `OpenGL compositor`,前往 `about:config` 并将 `layers.acceleration.force-enabled` 设置为 `true`。 13 | 2. 类似地,前往 `about:config` 并将 `media.ffmpeg.vaapi.enabled` 设置为 `true`。 14 | 3. 类似地,前往 `about:config` 并将 `media.ffvpx.enabled` 设置为 `false`。 15 | 4. 如果您在使用 Xorg,设置环境变量 `MOZ_X11_EGL=1`。 16 | 5. 如果您在使用 Wayland,设置环境变量 `MOZ_ENABLE_WAYLAND=1`。 17 | -------------------------------------------------------------------------------- /pentex.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ############################################################################## 4 | # Get the `pentex` script from https://github.com/neruthes/pentex 5 | ############################################################################## 6 | 7 | ############################################################################## 8 | # ./pentex.sh all 9 | # Build PDF artifacts for all Markdown files. 10 | # ./pentex.sh content/1.md content/2.md 11 | # Build multiple artifacts at once. 12 | ############################################################################## 13 | 14 | 15 | EXTRA_ARGS=( 16 | -V "fontsize:10pt" 17 | -V "geometry:textwidth=43em,vmargin=25mm" 18 | --pdf-engine-opt="--shell-escape" 19 | ) 20 | 21 | mkdir -p .dist/pdf 22 | 23 | function remove_header() { 24 | fn="$1" 25 | line_num=$(grep -n -m 2 '+++' "$fn" | tail -n 1 | cut -d ':' -f 1) 26 | # Remove all lines up to and including the second occurrence of "+++" 27 | sed "1,${line_num}d" "$fn" 28 | } 29 | 30 | function makepdf() { 31 | mdpath="$1" 32 | pdfpath="$(sed 's|^content|.dist/pdf|' <<< "$mdpath.pdf")" 33 | url_base="https://wiki.aosc.io/$(cut -d/ -f2- <<< "$mdpath" | sed 's|.md$|/|')" 34 | mkdir -p "$(dirname "$pdfpath")" 35 | md_title="$(grep -m1 'title = ' "$mdpath" | sed 's|^title = ||' | tr -d '"')" 36 | H=.pentex/std.H.tex pentex <( 37 | remove_header "$mdpath" 38 | ) --shift-heading-level-by=0 -o "$pdfpath" \ 39 | -V title:"$md_title" \ 40 | -V url-base:"$url_base" \ 41 | "${EXTRA_ARGS[@]}" 42 | } 43 | 44 | 45 | 46 | case $1 in 47 | all) 48 | find content -name '*.md' -type f | while read -r fn; do 49 | makepdf "$fn" 50 | done 51 | exit 0 52 | ;; 53 | esac 54 | 55 | 56 | 57 | if [[ -e "$2" ]]; then 58 | for fn in "$@"; do 59 | makepdf "$fn" 60 | done 61 | else 62 | makepdf "$1" 63 | fi 64 | 65 | 66 | -------------------------------------------------------------------------------- /sass/_article.sass: -------------------------------------------------------------------------------- 1 | article 2 | counter-reset: section 3 | h1, h2 4 | &:before 5 | margin-right: .2rem 6 | 7 | // Section number 8 | h1 9 | counter-reset: subsection 10 | &:before 11 | counter-increment: section 12 | content: counter(section) "." 13 | h2 14 | &:before 15 | counter-increment: subsection 16 | content: counter(section) "." counter(subsection) "" 17 | 18 | .wiki-anchor 19 | margin-left: .3em 20 | &:hover 21 | background-color: transparent 22 | -------------------------------------------------------------------------------- /sass/_color.sass: -------------------------------------------------------------------------------- 1 | // Typography 2 | a 3 | color: #07a 4 | &:hover 5 | background-color: #f2f8fa 6 | 7 | blockquote 8 | color: #484644 9 | 10 | del 11 | color: #979593 12 | 13 | code 14 | background-color: #f3f2f1 15 | 16 | pre 17 | code 18 | // So we can see non-colored text 19 | color: #c0c5ce 20 | background-color: transparent 21 | 22 | table 23 | border-color: #a19f9d 24 | th 25 | color: #797775 26 | border-color: inherit 27 | td 28 | border-color: inherit 29 | 30 | // main 31 | #search 32 | background-color: white 33 | .search-result 34 | border-color: #d2d0ce 35 | .context 36 | color: #605e5c 37 | 38 | input[type="search"] 39 | border-color: #000000 40 | background-color: #ffffff 41 | transition: .2s border-color 42 | &:focus 43 | border-color: #07a 44 | &::placeholder 45 | color: grey 46 | opacity: 1 47 | 48 | nav 49 | .first-level-header 50 | &:before 51 | color: grey 52 | 53 | #back-to-top 54 | background-color: black 55 | color: white 56 | 57 | // article 58 | article 59 | h1, h2 60 | &:before 61 | color: #797775 62 | 63 | .wiki-anchor 64 | color: #d2d0ce 65 | transition: .2s color 66 | &:hover 67 | color: black 68 | 69 | // Index 70 | #grand-header 71 | .description 72 | color: grey 73 | 74 | // components/card 75 | .card.success 76 | color: #498205 77 | fill: #498205 78 | .card.info 79 | color: #0078d4 80 | fill: #0078d4 81 | .card.warning 82 | color: #ffaa44 83 | fill: #ffaa44 84 | .card.danger 85 | color: #d13438 86 | fill: #d13438 87 | -------------------------------------------------------------------------------- /sass/_color_dark.sass: -------------------------------------------------------------------------------- 1 | @media (prefers-color-scheme: dark) 2 | * 3 | scrollbar-color: #bebbb8 #484644 4 | 5 | body 6 | background-color: #161514 7 | color: #f3f2f1 8 | 9 | a 10 | color: rgb(81, 229, 255) 11 | &:hover 12 | background-color: #002050 13 | 14 | #search 15 | background-color: #161514 16 | .search-result 17 | .context 18 | color: #bebbb8 19 | 20 | input[type="search"] 21 | background-color: #161514 22 | border-color: white 23 | &:focus 24 | border-color: rgb(81, 229, 255) 25 | color: white 26 | 27 | #back-to-top 28 | background-color: #3b3a39 29 | color: white 30 | 31 | blockquote 32 | color: #e1dfdd 33 | 34 | code 35 | background-color: #323130 36 | 37 | table 38 | border-color: #c8c6c4 39 | th 40 | color: #edebe9 41 | 42 | .wiki-anchor 43 | color: #323130 44 | &:hover 45 | color: #d2d0ce 46 | 47 | #grand-header 48 | .description 49 | color: #c8c6c4 50 | 51 | // components/card 52 | .card.success 53 | fill: #00ad56 54 | color: #00ad56 55 | .card.info 56 | fill: #00b7c3 57 | color: #00b7c3 58 | .card.warning 59 | fill: #ffaa44 60 | color: #ffaa44 61 | .card.danger 62 | fill: #da3b01 63 | color: #da3b01 64 | -------------------------------------------------------------------------------- /sass/_components.sass: -------------------------------------------------------------------------------- 1 | .card 2 | margin: 1em 0 3 | padding: 0 1.5em 4 | border-left: 2px solid 5 | .header 6 | margin-bottom: .25em 7 | font-size: 1.2em 8 | font-weight: 600 9 | font-family: $sansSerifFonts 10 | text-transform: capitalize 11 | // To align them 12 | display: flex 13 | justify-items: center 14 | .symbol 15 | display: inline-block 16 | height: 1em 17 | width: 1em 18 | margin-top: .18em 19 | margin-right: .25em 20 | .content 21 | vertical-align: middle 22 | display: inline-block 23 | 24 | -------------------------------------------------------------------------------- /sass/_hack.sass: -------------------------------------------------------------------------------- 1 | .big-min-table-cell-width 2 | table 3 | td 4 | min-width: 7em 5 | 6 | // Show underline for links inside info cards 7 | // To increase visibility of them 8 | .card.info 9 | .content 10 | a 11 | text-decoration: underline 12 | -------------------------------------------------------------------------------- /sass/_index.sass: -------------------------------------------------------------------------------- 1 | #grand-header 2 | display: flex 3 | align-item: center 4 | $grand-height: 3rem 5 | .logo 6 | height: $grand-height 7 | width: $grand-height 8 | .text 9 | font-size: $grand-height 10 | // Magic happens here 11 | display: inline 12 | position: relative 13 | bottom: 10% 14 | .slash 15 | position: relative 16 | bottom: 2% 17 | .logo-text 18 | // 19 | .description 20 | font-style: italic 21 | font-size: .5em 22 | @media screen and (max-width: $smallScreenWidth) 23 | $small-grand-height: 2.2rem 24 | .logo 25 | height: $small-grand-height 26 | width: $small-grand-height 27 | .text 28 | font-size: $small-grand-height 29 | 30 | .search-grand-header 31 | margin-top: .5rem 32 | 33 | .section 34 | margin: 1rem 0 35 | border-top: 2px solid grey 36 | padding-top: .3rem 37 | .marker 38 | position: absolute 39 | margin: 0 40 | padding-top: .3rem 41 | max-width: 9rem 42 | 43 | font-weight: 600 44 | font-size: 1.25em 45 | .content 46 | padding-left: 10rem 47 | padding-top: .4rem 48 | a 49 | display: block 50 | position: relative 51 | // Hack for Zola's Markdown renderer 52 | margin: 0 53 | left: -1rem 54 | p 55 | margin: 0 0 1rem 0 56 | padding-left: 1rem 57 | @media screen and (max-width: $smallScreenWidth) 58 | .marker 59 | position: relative 60 | max-width: 100% 61 | .content 62 | padding: .5rem 0 63 | -------------------------------------------------------------------------------- /sass/_typography.sass: -------------------------------------------------------------------------------- 1 | body 2 | // Nerdy stuff 3 | text-rendering: optimizeLegibility 4 | font-feature-settings: 'liga' 1 5 | // Stupid Safari... 6 | text-size-adjust: none 7 | 8 | font-size: 1.1rem 9 | font-weight: 400 10 | line-height: 1.5 11 | hyphens: auto 12 | 13 | h1, h2, h3, h4, h5, h6 14 | font-family: $serifFonts 15 | 16 | h1 17 | font-size: 1.4em 18 | 19 | h2 20 | font-size: 1.25em 21 | 22 | h3 23 | font-size: 1.1em 24 | 25 | a 26 | transition-duration: .1s 27 | transition-property: background 28 | text-decoration: none 29 | 30 | // lists 31 | ul 32 | list-style-type: square 33 | li 34 | margin: .2rem 0 35 | 36 | blockquote 37 | margin: 0 38 | padding: .5rem 1.5rem 39 | border-left: 2px solid grey 40 | * 41 | margin: 0 42 | 43 | code 44 | font-family: $monospaceFonts 45 | font-size: .95em 46 | 47 | pre 48 | overflow-x: auto 49 | padding: 1rem 50 | line-height: 1.2 51 | code 52 | // So we can see non-colored text 53 | color: #c0c5ce 54 | background-color: transparent 55 | 56 | // Table formatting 57 | table 58 | display: block 59 | margin: .5rem 0 60 | max-width: 100% 61 | overflow-x: auto 62 | border-collapse: collapse 63 | 64 | th, td 65 | padding: .75rem 66 | min-width: 5em 67 | th 68 | border-width: 0 0 2px 0 69 | border-style: solid 70 | td 71 | border-width: 0 0 1px 0 72 | border-style: solid 73 | 74 | .footnote-definition 75 | .footnote-definition-label 76 | p 77 | display: inline 78 | -------------------------------------------------------------------------------- /sass/main-en.sass: -------------------------------------------------------------------------------- 1 | $sansSerifFonts : 'Source Sans Pro', 'Hiragino Sans GB', 'Noto Sans CJK SC', 'Microsoft YaHei', sans-serif 2 | $serifFonts : 'Source Serif Pro', 'Noto Serif CJK SC', 'Songti SC', 'Microsoft YaHei', serif 3 | $monospaceFonts : 'Source Code Pro', 'Hiragino Sans GB', 'Noto Sans CJK SC', 'Microsoft YaHei', monospace 4 | $singleColWidth: 65rem 5 | $smallScreenWidth: 35rem 6 | 7 | @import "./_main.sass" 8 | @import "./_typography.sass" 9 | @import "./_article.sass" 10 | @import "./_index.sass" 11 | @import "./_components.sass" 12 | @import "./_hack.sass" 13 | @import "./_color.sass" 14 | @import "./_color_dark.sass" 15 | -------------------------------------------------------------------------------- /sass/main-zh.sass: -------------------------------------------------------------------------------- 1 | $sansSerifFonts : 'Hiragino Sans GB', 'Noto Sans CJK SC', 'Noto Sans SC', 'Microsoft YaHei', sans-serif 2 | $serifFonts : 'Noto Serif CJK SC', 'Songti SC', 'Noto Serif SC', 'Microsoft YaHei', serif 3 | $monospaceFonts : 'Source Code Pro', 'Hiragino Sans GB', 'Noto Sans CJK SC', 'Microsoft YaHei', monospace 4 | $singleColWidth: 65rem 5 | $smallScreenWidth: 35rem 6 | 7 | @import "./_main.sass" 8 | @import "./_typography.sass" 9 | @import "./_article.sass" 10 | @import "./_index.sass" 11 | @import "./_components.sass" 12 | @import "./_hack.sass" 13 | @import "./_color.sass" 14 | @import "./_color_dark.sass" 15 | 16 | // Here's the language specifc settings 17 | header 18 | p#description 19 | // We don't do that here 20 | font-style: normal 21 | 22 | #grand-header 23 | .text .description 24 | font-style: normal 25 | 26 | nav 27 | h2 28 | font-weight: 600 29 | -------------------------------------------------------------------------------- /static/.swcrc: -------------------------------------------------------------------------------- 1 | { 2 | "minify": true, 3 | "jsc": { 4 | "loose": true 5 | }, 6 | "env": { 7 | "targets": { 8 | "ie": "8" 9 | } 10 | } 11 | } 12 | 13 | -------------------------------------------------------------------------------- /static/icons/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015-present Ionic (http://ionic.io/) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /static/icons/danger.svg: -------------------------------------------------------------------------------- 1 | Nuclear 2 | -------------------------------------------------------------------------------- /static/icons/info.svg: -------------------------------------------------------------------------------- 1 | Information Circle -------------------------------------------------------------------------------- /static/icons/success.svg: -------------------------------------------------------------------------------- 1 | Checkmark Circle -------------------------------------------------------------------------------- /static/icons/warning.svg: -------------------------------------------------------------------------------- 1 | Warning -------------------------------------------------------------------------------- /static/img/aosc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AOSC-Dev/wiki/5d8186fed78ace89ac49e99d6f0dbbef21804e9d/static/img/aosc.png -------------------------------------------------------------------------------- /static/img/build_sh.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AOSC-Dev/wiki/5d8186fed78ace89ac49e99d6f0dbbef21804e9d/static/img/build_sh.jpg -------------------------------------------------------------------------------- /static/zh/404.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 404 Not Found - AOSC Wiki 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 |

404

27 |

找不到页面

28 |
29 | 30 |
31 |

32 | 明天,明天,再一个明天,
33 | 一天接着一天地蹑步前进,
34 | 直到最后一秒钟的时间;
35 | 我们所有的昨天,
36 | 不过替傻子们照亮了到死亡的土壤中去的路。
37 | 熄灭了吧,熄灭了吧,短促的烛光!
38 | 人生不过是一个行走的影子,
39 | 一个在舞台上指手划脚的拙劣的伶人,
40 | 登场片刻,就在无声无臭中悄然退下;
41 | 它是一个愚人所讲的故事,
42 | 充满着喧哗和骚动,却找不到一点意义。 43 |

44 |
45 |
46 |

47 | Return to Wiki 48 | · 49 | 返回维基主页 50 |

51 |
52 | 53 | 54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /templates/404.html: -------------------------------------------------------------------------------- 1 | {% import "macros.html" as macros %} 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | {{ macros::head(title="404 Not Found", url="#", description="Page Not Found") }} 14 | 15 | 16 | {# For Netsurf #} 17 | 18 | 19 | 20 |
21 |

404

22 |

Page Not Found

23 |
24 | 25 |
26 |

27 | Tomorrow, and tomorrow, and tomorrow,
28 | Creeps in this petty pace from day to day,
29 | To the last syllable of recorded time;
30 | And all our yesterdays have lighted fools
31 | The way to dusty death. Out, out, brief candle!
32 | Life's but a walking shadow, a poor player,
33 | That struts and frets his hour upon the stage,
34 | And then is heard no more. It is a tale
35 | Told by an idiot, full of sound and fury,
36 | Signifying nothing.
37 |

38 |
39 | 40 |
41 |

42 | Return to Wiki Index 43 | · 44 | 返回维基主页 45 |

46 |
47 | 48 | 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /templates/anchor-link.html: -------------------------------------------------------------------------------- 1 | § 2 | -------------------------------------------------------------------------------- /templates/base.html: -------------------------------------------------------------------------------- 1 | {% import "macros.html" as macros %} 2 | 3 | 4 | 5 | 6 | 7 | 8 | {% if lang == "zh" %} 9 | 10 | {% else %} 11 | 12 | {% endif %} 13 | 14 | 15 | 16 | {% block head %} 17 | {{ macros::head(title=trans(key="index_page", lang=lang), url=config.base_url, description=config.description) }} 18 | {% endblock head %} 19 | 20 | 21 | {# For Netsurf #} 22 | 23 | 24 | 25 | {% block search %} 26 | 33 | {% endblock search %} 34 | 35 |
36 | {% block header %} 37 | {% endblock header %} 38 |
39 | 40 |
41 | {% block main %} 42 | {% endblock main %} 43 |
44 | 45 |
46 |
47 | 48 | 49 |
50 | {% block footer %} 51 |

{{ trans(key="footer_msg", lang=lang) | markdown | safe }}

52 | {% endblock footer %} 53 |
54 | 55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /templates/index.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | 3 | {# Default head block is good enough here. #} 4 | 5 | {% block search %} 6 | 13 | {% endblock search %} 14 | 15 | {% block header %} 16 |
17 |
18 | 19 |
20 | /{{ config.extra.logo_text }} 21 | {{ trans(key="description", lang=lang) }} 22 |
23 |
24 |
25 | {% endblock header %} 26 | 27 | {% block main %} 28 | {{ section.content | safe }} 29 | 30 | 51 | {% endblock main %} 52 | -------------------------------------------------------------------------------- /templates/macros.html: -------------------------------------------------------------------------------- 1 | {% macro head(title, url, description) %} 2 | {{ title }} - {{ trans(key="title", lang=lang) }} 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | {% endmacro head %} 12 | 13 | {% macro language_select(source) %} 14 |
15 | {% if source.translations | length > 1 %} 16 | {{ trans(key="also_available_in", lang=lang) }} 17 | {% for t in source.translations %} 18 | {% if t.lang != lang %} 19 | {{ trans(key=t.lang, lang=lang) }} 20 | {% endif %} 21 | {% endfor %} 22 | {% endif %} 23 |
24 | {% endmacro language_select %} 25 | 26 | -------------------------------------------------------------------------------- /templates/page.html: -------------------------------------------------------------------------------- 1 | {% import "macros.html" as macros %} 2 | 3 | {% extends "base.html" %} 4 | 5 | {% block head %} 6 | {{ macros::head(title=page.title, url=page.permalink, description=page.description) }} 7 | {% endblock head %} 8 | 9 | {% block header %} 10 |
11 | {# Navigation #} 12 | {% for ancestor in page.ancestors %} 13 | {% set section = get_section(path=ancestor, metadata_only=true) %} 14 | {{ section.title }} 15 | {% if not loop.last %} 16 | / 17 | {% else %} 18 | / 19 | . 20 | {% endif %} 21 | {% endfor %} 22 | 23 | {{ macros::language_select(source=page, lang=page.lang) }} 24 |
25 | 26 |

{{ page.title }}

27 |

{{ page.description }}

28 | {% endblock header %} 29 | 30 | {% block main %} 31 | 42 |
43 | {% if page.extra.page_hack %} 44 |
45 | {{ page.content | safe }} 46 |
47 | {% else %} 48 | {{ page.content | safe }} 49 | {% endif %} 50 |
51 | {% endblock main %} 52 | -------------------------------------------------------------------------------- /templates/shortcodes/section.html: -------------------------------------------------------------------------------- 1 |
2 |

{{ name }}

3 |
4 | {{ body | markdown | safe }} 5 |
6 |
7 | -------------------------------------------------------------------------------- /templates/software.html: -------------------------------------------------------------------------------- 1 | {% import "macros.html" as macros %} 2 | {% extends "section.html" %} 3 | 4 | {% block main %} 5 | {{ section.content | safe }} 6 | 7 | {# Get a list of all article types #} 8 | {% set_global article_types = [] %} 9 | {% for page in section.pages %} 10 | {% if article_types is not containing(page.extra.article_type) %} 11 | {% set_global article_types = article_types | concat(with=page.extra.article_type) %} 12 | {% endif %} 13 | {% endfor %} 14 | 15 | {# Then list them #} 16 | {% for type in article_types %} 17 |

{{ type }}

18 |
    19 | {% for page in section.pages %} 20 | {% if page.extra.article_type == type %} 21 |
  • 22 | {{ page.title }} 23 |
  • 24 | {% endif %} 25 | {% endfor %} 26 |
27 | {% endfor %} 28 | 29 | {# Navigation #} 30 | 46 | {% endblock %} 47 | -------------------------------------------------------------------------------- /templates/softwares.html: -------------------------------------------------------------------------------- 1 | {% import "macros.html" as macros %} 2 | {% extends "section.html" %} 3 | 4 | {% block main %} 5 | {{ section.content | safe }} 6 | 7 | {# Get a list of all software types #} 8 | {% set_global software_categories = [] %} 9 | {% for subsection in section.subsections %} 10 | {% set section = get_section(path=subsection, metadata_only=true) %} 11 | {% if software_categories is not containing(section.extra.software_category) %} 12 | {% set_global software_categories = software_categories | concat(with=section.extra.software_category) %} 13 | {% endif %} 14 | {% endfor %} 15 | 16 | {# Then we can list them one by one #} 17 | {% for category in software_categories %} 18 | {# The grand title first #} 19 |

{{ category }}

20 |
    21 | {% for subsection in section.subsections %} 22 | {% set section = get_section(path=subsection, metadata_only=true) %} 23 | {% if section.extra.software_category == category %} 24 |
  • 25 | {{ section.title }} 26 |
  • 27 | {% endif %} 28 | {% endfor %} 29 |
30 | {% endfor %} 31 | 32 | {# Navigation #} 33 | 39 | {% endblock %} 40 | -------------------------------------------------------------------------------- /templates/tags/list.html: -------------------------------------------------------------------------------- 1 | {% import "macros.html" as macros %} 2 | {% extends "base.html" %} 3 | 4 | {% block head %} 5 | {{ macros::head(title="Tags", url=current_url, description=config.description) }} 6 | {% endblock head %} 7 | 8 | {% block header %} 9 |
10 | {# Navigation #} 11 | All tags in 12 | AOSC/{{ config.title }} 13 |
14 | {% endblock header %} 15 | 16 | {% block main %} 17 | 23 | 24 | {# Acutal tags #} 25 |
26 | {% for tag in terms %} 27 |

{{ tag.name }}

28 |
    29 | {% for page in tag.pages %} 30 |
  • 31 | {{ page.title }} 32 |
  • 33 | {% endfor %} 34 |
35 | {% endfor %} 36 |
37 | {% endblock main %} 38 | -------------------------------------------------------------------------------- /templates/tags/single.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | 3 | {% block head %} 4 | {{ macros::head(title="Tag: " ~ term.name, url=current_url, description=config.description) }} 5 | {% endblock head %} 6 | 7 | {% block header %} 8 |
9 | {# Navigation #} 10 | AOSC {{ config.title }} 11 | contents with tag 12 | {{ term.name }} 13 | 14 | {# Buttons #} 15 |
16 | Also available in: 17 | zh_CN 18 |
19 |
20 |

Pages with tag: {{ term.name }}

21 | 22 | {# Acutal pages #} 23 |
    24 | {% for page in term.pages %} 25 |
  • 26 | {{ page.title }} 27 |
  • 28 | {% endfor %} 29 |
30 | 31 | {% endblock header %} 32 | 33 | --------------------------------------------------------------------------------