From 08c5bd21fa02e1b30fe2e4c194d9c615a4daf2c6 Mon Sep 17 00:00:00 2001 From: Cem Keylan Date: Tue, 31 Aug 2021 01:13:15 +0300 Subject: website: switch to hugo --- .gitignore | 9 +- Makefile | 43 ++-- archetypes/default.md | 6 + blog/20200128.org | 16 -- blog/20200406.org | 73 ------- blog/20200410.org | 21 -- blog/20200508.org | 113 ----------- blog/20200528.org | 40 ---- blog/20200617.org | 88 --------- blog/20200803.org | 71 ------- blog/20201210.org | 22 --- blog/20210303.org | 83 -------- blog/20210415.org | 118 ----------- blog/20210525.org | 49 ----- config.toml | 13 ++ content/_index.org | 65 +++++++ content/blog/20200128.org | 17 ++ content/blog/20200406.org | 74 +++++++ content/blog/20200410.org | 22 +++ content/blog/20200508.org | 114 +++++++++++ content/blog/20200528.org | 41 ++++ content/blog/20200617.org | 89 +++++++++ content/blog/20200803.org | 72 +++++++ content/blog/20201210.org | 23 +++ content/blog/20210303.org | 84 ++++++++ content/blog/20210415.org | 120 ++++++++++++ content/blog/20210525.org | 50 +++++ content/blog/20210630.org | 15 ++ content/blog/20210831.org | 26 +++ content/blog/_index.md | 5 + content/docs.org | 119 ++++++++++++ content/download.org | 23 +++ content/install.org | 352 +++++++++++++++++++++++++++++++++ content/mailing-lists.org | 24 +++ content/news/20191210.org | 4 + content/news/20191212.org | 6 + content/news/20191217.org | 5 + content/news/20191218.org | 4 + content/news/20200109.org | 13 ++ content/news/20200110.org | 4 + content/news/20200113.org | 23 +++ content/news/20200115.org | 4 + content/news/20200122.org | 5 + content/news/20200128.org | 10 + content/news/20200213.org | 6 + content/news/20200214.org | 50 +++++ content/news/20200218.org | 10 + content/news/20200405.org | 14 ++ content/news/20200406.org | 4 + content/news/20200410.org | 4 + content/news/20200427.org | 7 + content/news/20200510.org | 7 + content/news/20200519.org | 5 + content/news/20200526.org | 5 + content/news/20200617.org | 5 + content/news/20200727.org | 7 + content/news/20200903.org | 6 + content/news/20200916.org | 6 + content/news/20210228.org | 5 + content/news/20210304.org | 6 + content/news/20210308.org | 5 + content/news/20210401.org | 5 + content/news/20210406.org | 9 + content/news/20210522.org | 4 + content/people.org | 3 + content/sources.org | 32 +++ cpt | 2 +- elisp/no-littering.el | 454 ------------------------------------------- hooks/pre-commit | 5 - layouts/_default/baseof.html | 11 ++ layouts/_default/baseof.txt | 1 + layouts/_default/rss.xml | 39 ++++ layouts/_default/single.html | 3 + layouts/_default/single.txt | 3 + layouts/blog/list.html | 8 + layouts/blog/single.html | 7 + layouts/news/list.html | 7 + layouts/news/list.txt | 12 ++ layouts/news/single.html | 6 + layouts/news/single.txt | 6 + layouts/page/index.html | 16 ++ layouts/page/index.txt | 3 + layouts/partials/footer.html | 6 + layouts/partials/head.html | 10 + layouts/partials/navbar.html | 13 ++ layouts/shortcodes/pkg.html | 1 + layouts/shortcodes/pkg.txt | 1 + news/20191210.org | 4 - news/20191212.org | 6 - news/20191217.org | 5 - news/20191218.org | 4 - news/20200109.org | 13 -- news/20200110.org | 4 - news/20200113.org | 23 --- news/20200115.org | 4 - news/20200122.org | 5 - news/20200128.org | 10 - news/20200213.org | 6 - news/20200214.org | 50 ----- news/20200218.org | 10 - news/20200405.org | 14 -- news/20200406.org | 4 - news/20200410.org | 4 - news/20200427.org | 7 - news/20200510.org | 7 - news/20200519.org | 5 - news/20200526.org | 5 - news/20200617.org | 5 - news/20200727.org | 7 - news/20200903.org | 6 - news/20200916.org | 6 - news/20210228.org | 5 - news/20210304.org | 6 - news/20210308.org | 5 - news/20210401.org | 5 - news/20210406.org | 9 - news/20210522.org | 4 - org-publish.el | 358 ---------------------------------- src/docs.org | 118 ----------- src/download.org | 20 -- src/index.org | 77 -------- src/install.org | 4 - src/mailing-lists.org | 24 --- src/people.org | 3 - style | 2 +- texidocs | 2 +- 126 files changed, 1814 insertions(+), 2039 deletions(-) create mode 100644 archetypes/default.md delete mode 100644 blog/20200128.org delete mode 100644 blog/20200406.org delete mode 100644 blog/20200410.org delete mode 100644 blog/20200508.org delete mode 100644 blog/20200528.org delete mode 100644 blog/20200617.org delete mode 100644 blog/20200803.org delete mode 100644 blog/20201210.org delete mode 100644 blog/20210303.org delete mode 100644 blog/20210415.org delete mode 100644 blog/20210525.org create mode 100644 config.toml create mode 100644 content/_index.org create mode 100644 content/blog/20200128.org create mode 100644 content/blog/20200406.org create mode 100644 content/blog/20200410.org create mode 100644 content/blog/20200508.org create mode 100644 content/blog/20200528.org create mode 100644 content/blog/20200617.org create mode 100644 content/blog/20200803.org create mode 100644 content/blog/20201210.org create mode 100644 content/blog/20210303.org create mode 100644 content/blog/20210415.org create mode 100644 content/blog/20210525.org create mode 100644 content/blog/20210630.org create mode 100644 content/blog/20210831.org create mode 100644 content/blog/_index.md create mode 100644 content/docs.org create mode 100644 content/download.org create mode 100644 content/install.org create mode 100644 content/mailing-lists.org create mode 100644 content/news/20191210.org create mode 100644 content/news/20191212.org create mode 100644 content/news/20191217.org create mode 100644 content/news/20191218.org create mode 100644 content/news/20200109.org create mode 100644 content/news/20200110.org create mode 100644 content/news/20200113.org create mode 100644 content/news/20200115.org create mode 100644 content/news/20200122.org create mode 100644 content/news/20200128.org create mode 100644 content/news/20200213.org create mode 100644 content/news/20200214.org create mode 100644 content/news/20200218.org create mode 100644 content/news/20200405.org create mode 100644 content/news/20200406.org create mode 100644 content/news/20200410.org create mode 100644 content/news/20200427.org create mode 100644 content/news/20200510.org create mode 100644 content/news/20200519.org create mode 100644 content/news/20200526.org create mode 100644 content/news/20200617.org create mode 100644 content/news/20200727.org create mode 100644 content/news/20200903.org create mode 100644 content/news/20200916.org create mode 100644 content/news/20210228.org create mode 100644 content/news/20210304.org create mode 100644 content/news/20210308.org create mode 100644 content/news/20210401.org create mode 100644 content/news/20210406.org create mode 100644 content/news/20210522.org create mode 100644 content/people.org create mode 100644 content/sources.org delete mode 100644 elisp/no-littering.el delete mode 100755 hooks/pre-commit create mode 100644 layouts/_default/baseof.html create mode 100644 layouts/_default/baseof.txt create mode 100644 layouts/_default/rss.xml create mode 100644 layouts/_default/single.html create mode 100644 layouts/_default/single.txt create mode 100644 layouts/blog/list.html create mode 100644 layouts/blog/single.html create mode 100644 layouts/news/list.html create mode 100644 layouts/news/list.txt create mode 100644 layouts/news/single.html create mode 100644 layouts/news/single.txt create mode 100644 layouts/page/index.html create mode 100644 layouts/page/index.txt create mode 100644 layouts/partials/footer.html create mode 100644 layouts/partials/head.html create mode 100644 layouts/partials/navbar.html create mode 100644 layouts/shortcodes/pkg.html create mode 100644 layouts/shortcodes/pkg.txt delete mode 100644 news/20191210.org delete mode 100644 news/20191212.org delete mode 100644 news/20191217.org delete mode 100644 news/20191218.org delete mode 100644 news/20200109.org delete mode 100644 news/20200110.org delete mode 100644 news/20200113.org delete mode 100644 news/20200115.org delete mode 100644 news/20200122.org delete mode 100644 news/20200128.org delete mode 100644 news/20200213.org delete mode 100644 news/20200214.org delete mode 100644 news/20200218.org delete mode 100644 news/20200405.org delete mode 100644 news/20200406.org delete mode 100644 news/20200410.org delete mode 100644 news/20200427.org delete mode 100644 news/20200510.org delete mode 100644 news/20200519.org delete mode 100644 news/20200526.org delete mode 100644 news/20200617.org delete mode 100644 news/20200727.org delete mode 100644 news/20200903.org delete mode 100644 news/20200916.org delete mode 100644 news/20210228.org delete mode 100644 news/20210304.org delete mode 100644 news/20210308.org delete mode 100644 news/20210401.org delete mode 100644 news/20210406.org delete mode 100644 news/20210522.org delete mode 100755 org-publish.el delete mode 100644 src/docs.org delete mode 100644 src/download.org delete mode 100644 src/index.org delete mode 100644 src/install.org delete mode 100644 src/mailing-lists.org delete mode 100644 src/people.org diff --git a/.gitignore b/.gitignore index 7fafb4f..1c38630 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,3 @@ /.cache/ -/news/index.org -/news/news.org -/news/latest-news.org -/blog/latest-blog.org -/blog/index.org -/blog/rss.org -/docs/ +/public/ +/static/ diff --git a/Makefile b/Makefile index 3552b5d..8d8d59a 100644 --- a/Makefile +++ b/Makefile @@ -1,32 +1,27 @@ EMACS = emacs -all: docs style - ${EMACS} --batch --script ./org-publish.el - -docs: texidocs/carbslinux.texi texidocs/carbslinux.txt - mkdir -p docs/docs - makeinfo --html --css-ref=https://www.gnu.org/software/gnulib/manual.css -o docs/docs/cpt cpt/docs/cpt.texi - makeinfo --html --css-ref=https://www.gnu.org/software/gnulib/manual.css --no-split -o docs/docs/cpt.html cpt/docs/cpt.texi - makeinfo --html --css-ref=https://www.gnu.org/software/gnulib/manual.css -o docs/docs/carbslinux texidocs/carbslinux.texi - makeinfo --html --css-ref=https://www.gnu.org/software/gnulib/manual.css --no-split -o docs/docs/carbslinux.html texidocs/carbslinux.texi - cp texidocs/carbslinux.txt docs/docs/carbslinux.txt - cp cpt/docs/cpt.txt docs/docs/cpt.txt - -style: style/carbslinux.css - mkdir -p docs - cp style/carbslinux.css docs/style.css +all: public + +public: style texidocs/carbslinux.texi texidocs/carbslinux.txt + cp texidocs/install.org content/install.org + hugo + mkdir -p public/docs + makeinfo --html --css-ref=https://www.gnu.org/software/gnulib/manual.css -o public/docs/cpt cpt/docs/cpt.texi + makeinfo --html --css-ref=https://www.gnu.org/software/gnulib/manual.css --no-split -o public/docs/cpt.html cpt/docs/cpt.texi + makeinfo --html --css-ref=https://www.gnu.org/software/gnulib/manual.css -o public/docs/carbslinux texidocs/carbslinux.texi + makeinfo --html --css-ref=https://www.gnu.org/software/gnulib/manual.css --no-split -o public/docs/carbslinux.html texidocs/carbslinux.texi + cp texidocs/carbslinux.txt public/docs/carbslinux.txt + cp texidocs/install.txt public/install.txt + cp cpt/docs/cpt.txt public/docs/cpt.txt + +style: style/carbslinux.min.css + mkdir -p static + cp style/carbslinux.css static/style.css update-submodules: git submodule update --remote --init --recursive -f -publish: - ${EMACS} --batch --script ./org-publish.el - -rebuild: - rm -rf .cache/var/timestamps - ${MAKE} all - clean: - rm -rf ./docs ./.cache/var/timestamps + rm -rf public static -.PHONY: all docs style update-submodules publish rebuild clean +.PHONY: all public style update-submodules publish rebuild clean diff --git a/archetypes/default.md b/archetypes/default.md new file mode 100644 index 0000000..00e77bd --- /dev/null +++ b/archetypes/default.md @@ -0,0 +1,6 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +draft: true +--- + diff --git a/blog/20200128.org b/blog/20200128.org deleted file mode 100644 index 9309a99..0000000 --- a/blog/20200128.org +++ /dev/null @@ -1,16 +0,0 @@ -#+TITLE: Switching to New Website -#+DATE: <2020-01-28 Tue> -#+AUTHOR: Cem Keylan - -In case you haven't seen it before, this website was powered by [[http://werc.cat-v.org][werc]]. And even -though I liked it really much, it was too powerful for a small website like -this. - -So I have decided to reimplement this website with my own static generation -scripts. The source will probably be on [[https://git.carbslinux.org/website/log.html][its git repository]] when I decide to -publish the website. - -The generation requires Plan9 programs, although I have used them just for my -enthusiasm. I have built the site with a combination of mk (instead of make), -rc, and POSIX sh. I am not yet exactly familiar with rc, but I will replace the -shell scripts when I feel like I can. diff --git a/blog/20200406.org b/blog/20200406.org deleted file mode 100644 index 08e79bf..0000000 --- a/blog/20200406.org +++ /dev/null @@ -1,73 +0,0 @@ -#+TITLE: Roadmap for Carbs -#+AUTHOR: Cem Keylan -#+DATE: <2020-04-06 Mon> - -It has been a busy week. There are lots of changes in direction, and more to -come. I want to talk a little about all of them. - -** Carbs Linux Server Going Down -:PROPERTIES: -:CUSTOM_ID: carbs-linux-server-going-down -:END: - -It became harder to maintain and pay for the server, and I will be shutting it -down in May. I am currently in the phase of carrying over everything to [[https://github.com/CarbsLinux][Github]]. -The repository and the website is served on Github now. I have also moved the -[[https://github.com/CarbsLinux/wiki/wiki][Wiki]] to Github and anyone can edit it there. There are some outdated posts that -I will be fixing around this week. - -I am not quite sure where to store the downloads page now. But I will be -switching that to a new source as well. (Maybe SourceHut?) - -I feel a little sad for switching, but serving on Github is faster, cheaper, and -hassle-free. - -** Forking KISS -:PROPERTIES: -:CUSTOM_ID: forking-kiss -:END: - -I had a personal fork of KISS, which I enjoyed thoroughly. I didn't intend to -make it the default when I started it, but it has matured enough to be so. The -package manager can now be found on [[https://github.com/CarbsLinux/kiss][this repository]]. See it for the added -changes. - -This will be a change for the better, as I can develop the package manager as it -fits my views. - -** Small Changes on the Website -:PROPERTIES: -:CUSTOM_ID: small-changes-on-the-website -:END: - -I have made some small changes on the website. The build is not dependent on -Plan9 utilities anymore. It was fun messing around with =rc= and =mk=, but they -are quite limited compared to POSIX shell. - -RSS feeds are finally working as intended, both for the [[https://carbslinux.org/news.xml][news]] section, and the -[[https://carbslinux.org/rss.xml][blog]] section. - -You can see every page's =.txt= output at the end of the page by clicking 'View -Page Source'. Meanwhile, I will be updating some pages to be a little more -'human-readable'. - -** Outsources Repository -:PROPERTIES: -:CUSTOM_ID: outsources-repository -:END: - -I have opened an =outsource= repository, which I will be pushing this week. I -will add a new post when I am ready to push it. I think it will be interesting, -it will also make more sense about the changes I have added to the package -manager. The now empty repository, can be found [[https://github.com/CarbsLinux/outsource][here]]! - -** New Tarball -:PROPERTIES: -:CUSTOM_ID: new-tarball -:END: - -Finally, I have released a new tarball today, which can be obtained from the -[[https://dl.carbslinux.org/releases][downloads page]]. - -I am planning to add more of these update posts as I'm feeling better about the -website structure overall. diff --git a/blog/20200410.org b/blog/20200410.org deleted file mode 100644 index 0868c2d..0000000 --- a/blog/20200410.org +++ /dev/null @@ -1,21 +0,0 @@ -#+TITLE: Outsource Repository Concept -#+AUTHOR: Cem Keylan -#+DATE: <2020-04-10 Fri> - -In April 3rd, I have added submodule support for Carbs Linux's fork of =kiss=. -Now, from that sentence, it really doesn't sound exciting at all. But in -reality, it opens a path to lots of creative output, and a better way to manage -multi-user repositories (such as KISS Community). - -When managing a repository of submodules, the repository maintainer's only job -is to deal with adding packages. A package maintainer doesn't have to wait for -the repository maintainer to update their packages, as they are only making the -changes to their own repositories. - -This way, an end-user can also track from their preferred maintainers, and do -that with the tidyness of a single repository in their =KISS_PATH=. - -Carbs Linux now has an outsource repository for some packages. Firefox and its -dependencies have been purged from the main repository, but can be found on it. - -[[https://github.com/CarbsLinux/outsource]] diff --git a/blog/20200508.org b/blog/20200508.org deleted file mode 100644 index 1df12e7..0000000 --- a/blog/20200508.org +++ /dev/null @@ -1,113 +0,0 @@ -#+TITLE: The Relation of Carbs and KISS -#+AUTHOR: Cem Keylan -#+DATE: <2020-05-08 Fri> - -Since I have forked KISS, I have received many questions that can be summarized -as "Why?". I have realized that I never truly answered this question. That's the -reason I am writing this post, to give some background on Carbs, and some -differences between KISS Linux and Carbs Linux for anyone who may be wondering. -Perhaps I could make this a "FAQ" page later on. - -** History -:PROPERTIES: -:CUSTOM_ID: history -:END: - -I had the idea of creating my own Linux distribution since the May of 2019. Back -then, I had my own [[https://linuxfromscratch.org][Linux from Scratch]] build, and I wanted to slim it down my -own way and replace the software (with musl,sbase,etc.). The name Carbs Linux -was in my mind since then. I wanted to write my own package manager, but I -wasn't satisfied with anything I had built. - -I had written some incomplete package managers (all named =fat=) and I quickly -threw them into the trash can, where they honestly belonged. I would want to -share them with you for laughs, but my hard-drive got wiped and I have a problem -of not doing an "initial commit" until a program I write is in a usable state. - -I have obtained the 'carbslinux.org' domain name in September 2019, but then -life got on the way, and I stopped for a long time. - -One day on Reddit, I saw Dylan's post on [[https://reddit.com/r/unixporn][r/unixporn]] about KISS, and I really -thought that it was interesting. Here is my [[https://www.reddit.com/r/unixporn/comments/ducd34/sowm_kiss_d/f7lua7x][comment]] to Dylan on that post. I -checked out the package manager and the repository. The packaging system was -extremely clean and well-thought. I decided to give it a go and fork KISS. - -** Differences between KISS and Carbs -:PROPERTIES: -:CUSTOM_ID: differences-between-kiss-and-carbs -:END: - -Now, I still baffle when people ask me this question. My intention was never to -create a distribution with specific differences between KISS. My intention was -being my own BDFL of a distribution I maintain. There are lots of differences -between the main repositories, but they are subtle and not worth talking about. -I personally never even installed KISS Linux on my system. So Carbs, isn't -something like a downstream fork of KISS, it is just a distribution that was -initially based on KISS. - -I try to contribute as much as I can to KISS Linux. I think that it is a -brilliant distribution, and it was a great starting point for Carbs. I am really -grateful to Dylan and all the other contributors. - -** What I'm working on now -:PROPERTIES: -:CUSTOM_ID: what-im-working-on-now -:END: - -Currently I have a few projects that I'm working on for Carbs. These are, - -A BSD port for Carbs. For a while, I have been working on BSD compatibility on -my fork of the [package manager]. I have tested, without any more issues, on -OpenBSD and FreeBSD. The biggest issues remaining are choosing a vendor for BSD, -packaging the BSD source, and providing a minimal base (like busybox for BSD). -If you aren't familiar with BSD, it has a single source code for all of the -utilities (kernel, command line programs, etc.). Contributions (even chipping in -ideas) are very welcome. - -Adding binary package distribution support natively to the package manager. -Biggest issue in small/old computers are compile times. This feature is for the -bigger packages such as webkit, clang, llvm that take a considerable amount of -time. Some computers with low memories cannot even compile firefox/webkit. - -Adding rsync repository support to the package manager. This is not a current -issue, but rather a futureproofing. As time passes, distribution repositories -grow larger. KISS and Carbs are young distributions without this problem right -now. But in something like 5 years, this size will presumably increase to -hundreds of megabytes. At that point it will be pointless to have the repository -sources unless you specifically need them. - -** What's up with all the init/service daemons? -:PROPERTIES: -:CUSTOM_ID: whats-up-with-all-the-init-service-daemons -:END: - -If you have ever checked the [[https://github.com/carbslinux/repository][repository]], you may have noticed that there are -lots of init/service related packages. I have had my fair share of time with all -of them, and it is an area that I am really interested in. I have even written -my own [[https://github.com/cemkeylan/shinit][init daemon]] and [[https://github.com/cemkeylan/sysmgr][service supervisor]]. I maintain all those packages on KISS -Community Repository as well with the exception of busybox. Those are, =busybox -init/runit=, =runit=, =sinit=, and =sysmgr=. I would definitely recommend -checking out =shinit= and =sysmgr=. - -** Why I don't publicize Carbs -:PROPERTIES: -:CUSTOM_ID: why-i-dont-publicize-carbs -:END: - -There are a couple of reasons I don't publicize Carbs a lot. - -KISS is the better alternative in terms of support and community. I work on -maintaining this distribution just as hard as Dylan, but in the end, Carbs is -based on his original hard work, and I believe that he deserves the recognition -more than I do. - -Since I cannot answer questions like "What is the difference?", I prefer staying -as the silent sibling project of KISS Linux. Plus, there is no point in dividing -the newly-emerging community in half. - -That's not because I don't have ideas for the future of Carbs, I do. I just -think that I will deserve the recognition once those above lists are checked. - -I think that's about it, if you have questions you can send me a mail, ping me -on IRC (my handle is =merakor=), and I will be happy to answer. Maybe your -question fits this post, and I can update it to thoroughly give an explanation. diff --git a/blog/20200528.org b/blog/20200528.org deleted file mode 100644 index b37498d..0000000 --- a/blog/20200528.org +++ /dev/null @@ -1,40 +0,0 @@ -#+TITLE: kiss 2.0.0 and Overall Changes -#+AUTHOR: Cem Keylan -#+DATE: <2020-05-28 Thu> - -Carbs Linux kiss version 2.0.0 has been released which introduces rsync -repositories. - -Git is no longer a mandatory dependency for the package manager, every git -source on the core repository has been replaced with https sources (sbase, -sinit), and rootfs tarballs will no longer ship with git. Repositories in the -upcoming tarball will be rsync repositories. - -Git is now on the =extra= repository and is still (optionally) used in the -package manager. - -The idea behind this change is size reductions and increased speed with rsync. -As I said on the previous post, git repositories get larger and larger over the -time span. Currently my personal copy of the git repository is around 77MB and I -have forked KISS Linux (as a shallow copy) around December. Obviously, I have -commits that I ommitted. I tend to create commits I dislike, which I change with -=git reset --soft HEAD^=, which doesn't actually remove the commits, etc. A user -will have a repository much smaller than mine. - -This is a precaution with the added bonuses of speed and dropping a mandatory -dependency. - -You can see the rest of the changelog [[https://github.com/CarbsLinux/kiss/blob/master/CHANGELOG.md][here]]. - -** Binary Repositories -:PROPERTIES: -:CUSTOM_ID: binary-repository -:END: - -A few days ago, I have also published [[https://github.com/CarbsLinux/kiss-bin][kiss-bin]], a first version for managing -binary repositories. Currently, there are some caveats that I'll be fixing along -the way. I decided not to include this in the package manager natively as -managing the source based and binary based packages together adds levels of -complexity that we do not want. Instead, this is an extension for kiss which -sources the package manager as a library. I hope to see it being adopted by -others interested on the matter as well. diff --git a/blog/20200617.org b/blog/20200617.org deleted file mode 100644 index 52143ff..0000000 --- a/blog/20200617.org +++ /dev/null @@ -1,88 +0,0 @@ -#+TITLE: June 2020 News Post -#+AUTHOR: Cem Keylan -#+DATE: <2020-06-17 Wed> - -This will be an active month for Carbs as major changes to the base and the -package manager will be coming up. - -** Statically linking the base -:PROPERTIES: -:CUSTOM_ID: statically-linking-the-base -:END: - -For the past couple of weeks I have been trying to simplify the base and -statically link the core (mostly binaries rather than libraries). I usually see -some people extremely opposed to static linking as I also see the opposite on -people. - -I believe that binaries on the core should always be linked statically. This -ensures that an SONAME bump to =libObscure.so= will not break the core -functionality of your system, forcing you to use external resources to recover -from such an issue. As long as you can compile, use core utilities, edit text, -and access the web, you can solve any given issue on your system. - -However, I don't think that removing shared libraries is sensible either. Not -every piece of software out there is good quality enough to be statically -linked. - -** Major changes on the core repository -:PROPERTIES: -:CUSTOM_ID: major-changes-on-the-core-repository -:END: - -There have been drastic changes to the core repository and the base rootfs this -month (with more on the way). Right now changes are as follows. - -*** Removed from Core -:PROPERTIES: -:CUSTOM_ID: removed-from-core -:END: -- =git= -- =libressl= -- =grub= -- =bison= -- =dhcpcd= -- =ubase= - -*** Added to Core -:PROPERTIES: -:CUSTOM_ID: added-to-core -:END: -- =bearssl=, as a =libressl= replacement -- =byacc=, as a =bison= replacement - -*** Statically linked -:PROPERTIES: -:CUSTOM_ID: statically-linked -:END: -- =kiss= -- =neatvi= -- =mandoc= -- =byacc= -- =m4= -- =e2fsprogs= -- =make= -- =pkgconf= -- =sbase= -- =libnl= -- =wpa_supplicant= -- =bearssl= - -** Making the wiki available offline -:PROPERTIES: -:CUSTOM_ID: making-the-wiki-available-offline -:END: - -Soon, all documentation regarding Carbs Linux will be avaialable to be installed -from the core repository in a =carbs-docs= package along with its own document -crawler. Currently, the documentation regarding the installation process is a -little outdated which will also receive some important updates. - -** ISO image for Carbs -:PROPERTIES: -:CUSTOM_ID: iso-image-for-carbs -:END: - -I am thinking of releasing an ISO image in order to provide a standardized -environment for installation along with installation helper tools in the spirit -of =arch-install-scripts=. Let's see how that's going to play out. diff --git a/blog/20200803.org b/blog/20200803.org deleted file mode 100644 index 21404e8..0000000 --- a/blog/20200803.org +++ /dev/null @@ -1,71 +0,0 @@ -#+TITLE: August 2020 News Post -#+AUTHOR: Cem Keylan -#+DATE: <2020-08-03 Mon> - -We are having some stalls during this summer, as I am currently working on -university-related stuff. Nonetheless, there are some important changes that I -want to share in this month's post. - -#+TOC: headlines 1 local - -** Carbs Packaging Tools -:PROPERTIES: -:CUSTOM_ID: carbs-packaging-tools -:END: - -This month I have reworked =kiss= into a new package manager, now renamed as -=cpt=. Updating =kiss= will now bootstrap the new package manager, so you don't -have to manually edit your system. If you don't like the idea of this, you can -look up the =post-install= script on =core/kiss= and apply the changes manually. - -You will also need to rename your =KISS_*= variables to =CPT_*=. So, =KISS_PATH= -becomes =CPT_PATH=. - -The rework changes the previous commands on the package manager into standalone -tools, and move the package manager functions to a library. This makes it easier -for a user to import functions and variables from the package manager, and -extend the package manager with their own intended way. Previously this required -ugly hacks and workarounds to use the package manager functions. I will be -making use of these changes to re-implement binary package management functions -as well. - -If you want to use the library on your script you can simply do this: - -#+BEGIN_SRC sh -#!/bin/sh -. cpt-lib -(...) -#+END_SRC - -There are obviously some clean-up and simplifications needed in this new -tool-based package management method. - -** Docs -:PROPERTIES: -:CUSTOM_ID: docs -:END: - -I have added documentation for the distribution, and finally updated the guide -for installation. It is now /almost/ complete. These docs can be installed to -your system for online viewing. I will also add a documentation crawler similar -to how werc works (but as an offline viewer). You can find =carbs-docs= from -the repository. Currently, the documentation lacks but I will be adding new -stuff. These will solely be distribution specific documentation and will not be -a wiki-like source. If anyone would like to contribute to a wiki-like -documentation source, I would happily re-open the distribution wiki. You can -find the source on [[https://github.com/CarbsLinux/docs]]. - -** Re-opening the Carbs Linux server -:PROPERTIES: -:CUSTOM_ID: re-opening-the-carbs-linux-server -:END: - -Back in May, I had shutdown the Carbs Linux server due to financial issues, but -I am slowly reverting to the self-hosted model. Back then, the git repositories -were mirrored to GitHub, and the management was overall much more flexible. The -server used to run Carbs Linux as well (that was fun and horrifying at the same -time). Now, I will be relaunching the git server which will be the upstream -source before August 5. You can switch your remote, but GitHub will stay as a -remote nonetheless. - -*EDIT:* The git-server is up! diff --git a/blog/20201210.org b/blog/20201210.org deleted file mode 100644 index 7da78cb..0000000 --- a/blog/20201210.org +++ /dev/null @@ -1,22 +0,0 @@ -#+TITLE: First Year of Carbs Linux -#+AUTHOR: Cem Keylan -#+DATE: <2020-12-10 Thu> - -December 10, 2020 marks the first year after the initial release of Carbs Linux. -When I forked the KISS Linux repository on the 9th of December, I was fairly new -to package management. Carbs Linux used to be almost identical to KISS Linux. A -lot has changed since then: - -- [2020 Jan 13] Replaced default init system to =sinit= -- [2020 Jan 15] Packaged =WebKit2GTK= -- [2020 May 17] Added =bearssl= on the testing repository -- [2020 May 28] Added =rsync= repository support to kiss -- [2020 Jun 03] Replaced =bison= with =byacc= -- [2020 Jun 11] Replaced =libressl= with =bearssl= -- [2020 Jun 24] Replaced =kiss= with =cpt= - -I have really enjoyed maintaining and developing this distribution, and I want -to thank everyone who was involved in some way or another. While I have slowed -down in development due to college workload, I am still actively maintaining all -the packages on the repository. I do have some ideas that I am thinking of -implementing during the semester break. Hope to see you all in January. diff --git a/blog/20210303.org b/blog/20210303.org deleted file mode 100644 index a1bb161..0000000 --- a/blog/20210303.org +++ /dev/null @@ -1,83 +0,0 @@ -#+TITLE: March 2021 News Post -#+DATE: <2021-03-03 Wed> -#+AUTHOR: Cem Keylan - -Greetings! I am really happy to announce some few changes to the distribution. I -wanted to write a new blog post to summarise them so you can get up to what is -happening in Carbs Linux. - -#+TOC: headlines 1 local - -** Switching to Sourcehut -:PROPERTIES: -:CUSTOM_ID: switching-to-sourcehut -:END: - -I have been thinking of moving development to [[srht:~carbslinux][Sourcehut]] for a while now. If your -repository remotes reside at GitHub you are encouraged to switch them to -Sourcehut. Mailing lists for discussion, development, and announcements have -also been created for both the distribution, and the package manager using -Sourcehut as the host. See the [[file:../mailing-lists.html][page on mailing lists]] for more information on -subscribing to the mailing lists. - -This does mean that issue trackers now reside at Sourcehut, and I will be -deactivating those in GitHub very soon. I have yet to decide whether on keeping -the mirrors or deactivating them completely, but I will be giving three months -of notice if it is decided to move away from GitHub completely. Regardless, the -main repositories are still hosted at [[https://git.carbslinux.org][our own server]], and I have no intentions -on changing that for the foreseeable future. - -*** State of our own Git repository - -In the near future, I will be moving our git server, and will be opening spots -for other users, who want to make use of the git server. People can use it to -serve their own =cpt= repositories, or personal projects that can be related to -Carbs. I will post an announcement when this will happen, and a blog post that -tells more about the new repository. Expect more by the end of March. - -** Wayland and Dbus -:PROPERTIES: -:CUSTOM_ID: wayland-and-dbus -:END: - -There are new repositories for [[carbs-pkg:dbus/dbus][dbus]], and [[carbs-pkg:wayland/wayland][wayland]], which are still works in -progress. These are meant to be options for those who /request/ it, and are not -meant to be enforced package repositories. For example, any package outside of -the ~dbus~ repository shouldn't require it to work, and shouldn't list it as a -dependency. Packages can still be written using those as optional dependencies. - -This change also raises the question of whether Carbs is ditching Xorg or not. -No, we are not ditching Xorg, Wayland is added as to serve an extra option for -those who don't own graphics cards from some specific manufacturer. - -** Next release for CPT -:PROPERTIES: -:CUSTOM_ID: next-release-for-cpt -:END: - -I had been working on the next major release for the package manager since -December, and it is coming close to completion. This release focuses more on the -library itself, and using the library more effectively on the contrib tools. -Unfortunately, until this time, the library wasn't properly documented, and -there weren't any unit tests for the library. Even though, the changes to the -package manager are close to completion, documentation and tests are what is -holding me from making the next release. - -** Website Update -:PROPERTIES: -:CUSTOM_ID: website-update -:END: - -I have recently updated the website in its entirety so that it looks more -appealing. I have updated the stylesheets and created a [[srht:~carbslinux/carbslinux-style][stylesheet repository]] -and I am planning on extending it to use with other Carbs websites. - -The website is now generated using Emacs [[https://orgmode.org][Org Mode]], and its biggest advantage is -that I can freely write posts without thinking about plaintext output, which -held me back from writing big posts. I have also created a few org-mode link -abbreviations such as the one that let me easily link to packages. There are -also few disadvantages from using this method, which I am hoping to resolve as -moving forward. One of these disadvantages made me remove the generated website -from the git repository, now I generate and serve the website through -~post-receive~ hooks. Once I resolve these, however, I will be adding the =docs= -directory back to the repository. diff --git a/blog/20210415.org b/blog/20210415.org deleted file mode 100644 index 4ebf358..0000000 --- a/blog/20210415.org +++ /dev/null @@ -1,118 +0,0 @@ -#+TITLE: April 2021 News Post -#+DATE: <2021-04-15 Thu> -#+AUTHOR: Cem Keylan - -Greetings from the cruellest month of the year! We have some important -topics this month that I wanted to share with you. - -#+TOC: headlines 1 local - -** CPT version 6 Release -:PROPERTIES: -:CUSTOM_ID: cpt-version-6-release -:END: - -I have released the version 6 of our package manager and did a few bugfix -releases, which contained a variety of changes made since December. The -[[https://fossil.carbslinux.org/cpt/log][Changelog]] details them on our new Fossil repository, which I will be talking -about more on a later section of this post. - -As I have mentioned on the [[file:20210303.org::#next-release-for-cpt][previous news post]], I was holding the release for a -few bugfixes, and documentation. The documentation is complete enough to be -shipped, but there are still some things to add. The manual pages, and the -documentation for the user tools, however, are considered complete. - -** New rootfs tarball -:PROPERTIES: -:CUSTOM_ID: new-rootfs-tarball -:END: - -A new tarball has been released after almost 7 months! This tarball targets the -=x86_64= architecture, and can be installed following the instructions. - -*** Signing Releases -:PROPERTIES: -:CUSTOM_ID: signing-releases -:END: - -Releases are now signed with the OpenBSD tool [[https://man.openbsd.org/signify][signify(1)]] instead of GnuPG. There -are two packages on our repository that provide this tool, [[carbs-pkg:core/otools][otools]], and [[carbs-pkg:extra/signify][signify]]. -Debian-based distributions usually provide it under =signify-openbsd=, and other -distributions provide it as just =signify=. Each release will have a different -public key, those can be found on [[https://dl.carbslinux.org/keys]]. Since the -public keys are so small, I will also be embedding the latest release key to the -README file of the package repository, and the installation manual. - -*** The state of i686 -:PROPERTIES: -:CUSTOM_ID: the-state-of-i686 -:END: - -As you may have noticed, I haven't made a release for the =i686= architecture -this time. I won't be retiring it, but my old laptop, which was the reason I -initially ported Carbs Linux to the architecture in the first place, has stopped -working. I won't be retiring it just now, but I also don't see anyone else -interested in it. If you are interested in taking the maintainership for the -architecture, you can send a mail to the mailing-list. Otherwise, I will be -dropping the architecture by the end of June. - -** Fossil -:PROPERTIES: -:CUSTOM_ID: fossil -:END: - -I have recently been toying around with the alternate version control system, -[[https://fossil-scm.org][Fossil]]. Since no Carbs Linux News Post is complete without some sort of -repository migration[fn:1], the canonical repository of the package manager has -been moved to Fossil on [[https://fossil.carbslinux.org/cpt]]. However, this doesn't -mean that the mailing-list on Sourcehut will be removed, those will be in place -until I decide to serve mailing lists on our own server. - -As time goes on, I am also planning on switching some other repositories to -Fossil as well. I will be switching the Documentation repository next, and the -Package repository when Fossil support is added to the package manager. - -*** Fossil support on the package manager -:PROPERTIES: -:CUSTOM_ID: fossil-support-on-the-package-manager -:END: - -Right now, the package manager supports Git, Mercurial, and Rsync repositories. -I do want to add Fossil repository support, however this might take long to -implement as I will be rewriting the repository backend to simplify and collect -the operations made by the package manager to manage package repositories. - -I'm aiming for a new system that makes it easy and simple to manage repositories -outside of the package manager's scope as well. These changes can be followed -from the [[https://fossil.carbslinux.org/cpt/timeline?r=repository-backend][repository-backend]] branch, which as of the time of writing this blog -post, contains no new check-ins, and specifically the status of Fossil support -can be tracked from [[https://fossil.carbslinux.org/cpt/tktview?name=b354510bc3][this ticket]]. - -** Switching back to LibreSSL -:PROPERTIES: -:CUSTOM_ID: switching-back-to-libressl -:END: - -This is the 4th time Carbs Linux is switching SSL providers, but I am planning -on this to be the final change for the foreseeable future. The reason behind -this change is pragmatism. Even though BearSSL is sufficient enough to run the -base, some essential packages (such as Python for its SSL module) depended on -LibreSSL, meaning that using LibreSSL was mandatory if you weren't simply using -the bare-minimum. Using 2 separate SSL libraries is pointless when you have the -option to easily use a single one. - -** Consistent communication -:PROPERTIES: -:CUSTOM_ID: consistent-communication -:END: - -I have decided to be more consistent on these news posts, I will try to make -these every 15th of the month. I have also recently came back to IRC to be as -active as possible. At least I can always be reached by mail, if all else fails! - -See you on the next post! - -** Footnotes - -[fn:1] "No mention of openbsd on the internet is complete without a long thread -about source control migration." -- tedu@ [[https://gameoftrees.org]] diff --git a/blog/20210525.org b/blog/20210525.org deleted file mode 100644 index e19039a..0000000 --- a/blog/20210525.org +++ /dev/null @@ -1,49 +0,0 @@ -#+TITLE: May 2021 News Post -#+DATE: <2021-05-25 Tue> -#+AUTHOR: Cem Keylan - -Welcome to May! It has been a rather quiet month, mostly dedicated to fixing -some small bugs and working on some features. - -#+TOC: headlines 1 local - -** Fossil support and new repository backend -:PROPERTIES: -:CUSTOM_ID: fossil-support -:END: - -In the [[file:20210415.org::#fossil][previous news post]] I mentioned adding fossil support to the package -manager. Fossil support is now merged to the trunk branch of the package -manager, and I have completely rewritten the repository backend which has -better performance and is easier to extend. There are still some changes to -make, but the feature will be added in the =6.1.0= release. - -** Moving IRC channel -:PROPERTIES: -:CUSTOM_ID: moving-irc-channel -:END: - -After the recent controversies surrounding Freenode, we have also switched to -the new Libera IRC network. Since our previous logger =globbot= is also shutting -down, I have set up an IRC logger powered by [[https://git.causal.agency/litterbox][litterbox]]. The IRC logs can be -found on [[https://irclogs.carbslinux.org]]. The website includes both a searchable -web interface, and plaintext dumps of daily logs. Even though the channel is -low-volume, I think logging it is extremely important. - -** New i686 release -:PROPERTIES: -:CUSTOM_ID: new-i686-release -:END: - -I have decided to make an i686 release last week because it was really outdated, -but it will likely be the last one depending on its use on the few following -months. If you are interested in keeping support for the architecture, feel free -to join the IRC channel to let me know. Maintaining i686 isn't really much of a -burdon on me, but there is no point in maintaining an architecture that isn't -used by anyone. - -Compared to the last month, there aren't much news, and there have been other -things that I needed to attend to. I started writing this post on the 13th, and -only had the time to finish it now! - -See you on the next post! diff --git a/config.toml b/config.toml new file mode 100644 index 0000000..b32188a --- /dev/null +++ b/config.toml @@ -0,0 +1,13 @@ +baseURL = "https://carbslinux.org" +languageCode = "en-us" +title = "Carbs Linux" +disableKinds = ["taxonomy", "term"] +pygmentsUseClasses = true + +[markup.highlight] +codeFences = true +hl_Lines = " " + +[permalinks] +blog = "/:year/:month/:title/" +news = "/news/:year-:month-:day/" diff --git a/content/_index.org b/content/_index.org new file mode 100644 index 0000000..cbc838f --- /dev/null +++ b/content/_index.org @@ -0,0 +1,65 @@ +#+TITLE: Home +#+DESCRIPTION: a simple Linux distribution +#+OPTIONS: title:nil + +Carbs Linux is a source-based Linux\reg distribution that aims to be simple, +flexible and extensible while staying as pragmatic and practical as possible. +The system can consist of as much or as little as its user can intend to. + +* Package Manager +:PROPERTIES: +:CUSTOM_ID: package-manager +:END: + +Carbs Linux uses its own package manager [[https://fossil.carbslinux.org/cpt][Carbs Packaging Tools]], a POSIX shell +package manager forked from [[https://github.com/kisslinux/kiss][KISS]] with the tool-based approach of [[https://github.com/void-linux/xbps][xbps]]. Its aim +is to deliver easy-to-use tools while also providing a powerful POSIX shell +library that can be used to further extend and script the packaging system. + + +* Small base +:PROPERTIES: +:CUSTOM_ID: small-base +:END: + +By default, Carbs Linux comes with busybox for coreutils, libressl for its +crypto library, musl libc, and other basic utilities that are required for +building new software. The majority of the base packages are statically linked. + + +* Multiple Init Support +:PROPERTIES: +:CUSTOM_ID: multiple-init-support +:END: + +Carbs Linux has support for multiple init systems and service supervisors. In +the main repository are + +- {{< pkg "core/sinit" >}} +- {{< pkg "extra/shinit" >}} +- {{< pkg "core/busybox" "busybox-init" >}} +- {{< pkg "core/runit" "runit-init" >}} + +for init systems, and + +- {{< pkg "core/sysmgr" >}} +- {{< pkg "core/busybox" "busybox-runit" >}} +- {{< pkg "core/runit" >}} + +for service supervisors. The {{< pkg "core/carbs-init" >}} package is the collection of init +scripts that ensure the interoperability of these init and service systems, and +make it easier for the user to switch to their preferred combinations of system +supervision. + +Nothing holds you back, however, from ditching any of these and packaging some +other system supervision technique along with your own init scripts. + + +* Links +:PROPERTIES: +:CUSTOM_ID: links +:END: + +- IRC - =#carbslinux= on libera.chat +- Reddit - [[https://reddit.com/r/carbslinux][r/carbslinux]] +- [[file:mailing-lists.org][Mailing Lists]] diff --git a/content/blog/20200128.org b/content/blog/20200128.org new file mode 100644 index 0000000..97b771a --- /dev/null +++ b/content/blog/20200128.org @@ -0,0 +1,17 @@ +#+TITLE: Switching to New Website +#+DATE: 2020-01-28 +#+AUTHOR: Cem Keylan +#+ALIASES[]: /blog/20200128.html + +In case you haven't seen it before, this website was powered by [[http://werc.cat-v.org][werc]]. And even +though I liked it really much, it was too powerful for a small website like +this. + +So I have decided to reimplement this website with my own static generation +scripts. The source will probably be on [[https://git.carbslinux.org/website/log.html][its git repository]] when I decide to +publish the website. + +The generation requires Plan9 programs, although I have used them just for my +enthusiasm. I have built the site with a combination of mk (instead of make), +rc, and POSIX sh. I am not yet exactly familiar with rc, but I will replace the +shell scripts when I feel like I can. diff --git a/content/blog/20200406.org b/content/blog/20200406.org new file mode 100644 index 0000000..c993b6f --- /dev/null +++ b/content/blog/20200406.org @@ -0,0 +1,74 @@ +#+TITLE: Roadmap for Carbs +#+AUTHOR: Cem Keylan +#+DATE: <2020-04-06 Mon> +#+ALIASES[]: /blog/20200406.html + +It has been a busy week. There are lots of changes in direction, and more to +come. I want to talk a little about all of them. + +** Carbs Linux Server Going Down +:PROPERTIES: +:CUSTOM_ID: carbs-linux-server-going-down +:END: + +It became harder to maintain and pay for the server, and I will be shutting it +down in May. I am currently in the phase of carrying over everything to [[https://github.com/CarbsLinux][Github]]. +The repository and the website is served on Github now. I have also moved the +[[https://github.com/CarbsLinux/wiki/wiki][Wiki]] to Github and anyone can edit it there. There are some outdated posts that +I will be fixing around this week. + +I am not quite sure where to store the downloads page now. But I will be +switching that to a new source as well. (Maybe SourceHut?) + +I feel a little sad for switching, but serving on Github is faster, cheaper, and +hassle-free. + +** Forking KISS +:PROPERTIES: +:CUSTOM_ID: forking-kiss +:END: + +I had a personal fork of KISS, which I enjoyed thoroughly. I didn't intend to +make it the default when I started it, but it has matured enough to be so. The +package manager can now be found on [[https://github.com/CarbsLinux/kiss][this repository]]. See it for the added +changes. + +This will be a change for the better, as I can develop the package manager as it +fits my views. + +** Small Changes on the Website +:PROPERTIES: +:CUSTOM_ID: small-changes-on-the-website +:END: + +I have made some small changes on the website. The build is not dependent on +Plan9 utilities anymore. It was fun messing around with =rc= and =mk=, but they +are quite limited compared to POSIX shell. + +RSS feeds are finally working as intended, both for the [[https://carbslinux.org/news.xml][news]] section, and the +[[https://carbslinux.org/rss.xml][blog]] section. + +You can see every page's =.txt= output at the end of the page by clicking 'View +Page Source'. Meanwhile, I will be updating some pages to be a little more +'human-readable'. + +** Outsources Repository +:PROPERTIES: +:CUSTOM_ID: outsources-repository +:END: + +I have opened an =outsource= repository, which I will be pushing this week. I +will add a new post when I am ready to push it. I think it will be interesting, +it will also make more sense about the changes I have added to the package +manager. The now empty repository, can be found [[https://github.com/CarbsLinux/outsource][here]]! + +** New Tarball +:PROPERTIES: +:CUSTOM_ID: new-tarball +:END: + +Finally, I have released a new tarball today, which can be obtained from the +[[https://dl.carbslinux.org/releases][downloads page]]. + +I am planning to add more of these update posts as I'm feeling better about the +website structure overall. diff --git a/content/blog/20200410.org b/content/blog/20200410.org new file mode 100644 index 0000000..8bdf57a --- /dev/null +++ b/content/blog/20200410.org @@ -0,0 +1,22 @@ +#+TITLE: Outsource Repository Concept +#+AUTHOR: Cem Keylan +#+DATE: <2020-04-10 Fri> +#+ALIASES[]: /blog/20200410.html + +In April 3rd, I have added submodule support for Carbs Linux's fork of =kiss=. +Now, from that sentence, it really doesn't sound exciting at all. But in +reality, it opens a path to lots of creative output, and a better way to manage +multi-user repositories (such as KISS Community). + +When managing a repository of submodules, the repository maintainer's only job +is to deal with adding packages. A package maintainer doesn't have to wait for +the repository maintainer to update their packages, as they are only making the +changes to their own repositories. + +This way, an end-user can also track from their preferred maintainers, and do +that with the tidyness of a single repository in their =KISS_PATH=. + +Carbs Linux now has an outsource repository for some packages. Firefox and its +dependencies have been purged from the main repository, but can be found on it. + +[[https://github.com/CarbsLinux/outsource]] diff --git a/content/blog/20200508.org b/content/blog/20200508.org new file mode 100644 index 0000000..8de5de0 --- /dev/null +++ b/content/blog/20200508.org @@ -0,0 +1,114 @@ +#+TITLE: The Relation of Carbs and KISS +#+AUTHOR: Cem Keylan +#+DATE: <2020-05-08 Fri> +#+ALIASES[]: /blog/20200508.html + +Since I have forked KISS, I have received many questions that can be summarized +as "Why?". I have realized that I never truly answered this question. That's the +reason I am writing this post, to give some background on Carbs, and some +differences between KISS Linux and Carbs Linux for anyone who may be wondering. +Perhaps I could make this a "FAQ" page later on. + +** History +:PROPERTIES: +:CUSTOM_ID: history +:END: + +I had the idea of creating my own Linux distribution since the May of 2019. Back +then, I had my own [[https://linuxfromscratch.org][Linux from Scratch]] build, and I wanted to slim it down my +own way and replace the software (with musl,sbase,etc.). The name Carbs Linux +was in my mind since then. I wanted to write my own package manager, but I +wasn't satisfied with anything I had built. + +I had written some incomplete package managers (all named =fat=) and I quickly +threw them into the trash can, where they honestly belonged. I would want to +share them with you for laughs, but my hard-drive got wiped and I have a problem +of not doing an "initial commit" until a program I write is in a usable state. + +I have obtained the 'carbslinux.org' domain name in September 2019, but then +life got on the way, and I stopped for a long time. + +One day on Reddit, I saw Dylan's post on [[https://reddit.com/r/unixporn][r/unixporn]] about KISS, and I really +thought that it was interesting. Here is my [[https://www.reddit.com/r/unixporn/comments/ducd34/sowm_kiss_d/f7lua7x][comment]] to Dylan on that post. I +checked out the package manager and the repository. The packaging system was +extremely clean and well-thought. I decided to give it a go and fork KISS. + +** Differences between KISS and Carbs +:PROPERTIES: +:CUSTOM_ID: differences-between-kiss-and-carbs +:END: + +Now, I still baffle when people ask me this question. My intention was never to +create a distribution with specific differences between KISS. My intention was +being my own BDFL of a distribution I maintain. There are lots of differences +between the main repositories, but they are subtle and not worth talking about. +I personally never even installed KISS Linux on my system. So Carbs, isn't +something like a downstream fork of KISS, it is just a distribution that was +initially based on KISS. + +I try to contribute as much as I can to KISS Linux. I think that it is a +brilliant distribution, and it was a great starting point for Carbs. I am really +grateful to Dylan and all the other contributors. + +** What I'm working on now +:PROPERTIES: +:CUSTOM_ID: what-im-working-on-now +:END: + +Currently I have a few projects that I'm working on for Carbs. These are, + +A BSD port for Carbs. For a while, I have been working on BSD compatibility on +my fork of the [package manager]. I have tested, without any more issues, on +OpenBSD and FreeBSD. The biggest issues remaining are choosing a vendor for BSD, +packaging the BSD source, and providing a minimal base (like busybox for BSD). +If you aren't familiar with BSD, it has a single source code for all of the +utilities (kernel, command line programs, etc.). Contributions (even chipping in +ideas) are very welcome. + +Adding binary package distribution support natively to the package manager. +Biggest issue in small/old computers are compile times. This feature is for the +bigger packages such as webkit, clang, llvm that take a considerable amount of +time. Some computers with low memories cannot even compile firefox/webkit. + +Adding rsync repository support to the package manager. This is not a current +issue, but rather a futureproofing. As time passes, distribution repositories +grow larger. KISS and Carbs are young distributions without this problem right +now. But in something like 5 years, this size will presumably increase to +hundreds of megabytes. At that point it will be pointless to have the repository +sources unless you specifically need them. + +** What's up with all the init/service daemons? +:PROPERTIES: +:CUSTOM_ID: whats-up-with-all-the-init-service-daemons +:END: + +If you have ever checked the [[https://github.com/carbslinux/repository][repository]], you may have noticed that there are +lots of init/service related packages. I have had my fair share of time with all +of them, and it is an area that I am really interested in. I have even written +my own [[https://github.com/cemkeylan/shinit][init daemon]] and [[https://github.com/cemkeylan/sysmgr][service supervisor]]. I maintain all those packages on KISS +Community Repository as well with the exception of busybox. Those are, =busybox +init/runit=, =runit=, =sinit=, and =sysmgr=. I would definitely recommend +checking out =shinit= and =sysmgr=. + +** Why I don't publicize Carbs +:PROPERTIES: +:CUSTOM_ID: why-i-dont-publicize-carbs +:END: + +There are a couple of reasons I don't publicize Carbs a lot. + +KISS is the better alternative in terms of support and community. I work on +maintaining this distribution just as hard as Dylan, but in the end, Carbs is +based on his original hard work, and I believe that he deserves the recognition +more than I do. + +Since I cannot answer questions like "What is the difference?", I prefer staying +as the silent sibling project of KISS Linux. Plus, there is no point in dividing +the newly-emerging community in half. + +That's not because I don't have ideas for the future of Carbs, I do. I just +think that I will deserve the recognition once those above lists are checked. + +I think that's about it, if you have questions you can send me a mail, ping me +on IRC (my handle is =merakor=), and I will be happy to answer. Maybe your +question fits this post, and I can update it to thoroughly give an explanation. diff --git a/content/blog/20200528.org b/content/blog/20200528.org new file mode 100644 index 0000000..54a140b --- /dev/null +++ b/content/blog/20200528.org @@ -0,0 +1,41 @@ +#+TITLE: kiss 2.0.0 and Overall Changes +#+AUTHOR: Cem Keylan +#+DATE: <2020-05-28 Thu> +#+ALIASES[]: /blog/20200528.html + +Carbs Linux kiss version 2.0.0 has been released which introduces rsync +repositories. + +Git is no longer a mandatory dependency for the package manager, every git +source on the core repository has been replaced with https sources (sbase, +sinit), and rootfs tarballs will no longer ship with git. Repositories in the +upcoming tarball will be rsync repositories. + +Git is now on the =extra= repository and is still (optionally) used in the +package manager. + +The idea behind this change is size reductions and increased speed with rsync. +As I said on the previous post, git repositories get larger and larger over the +time span. Currently my personal copy of the git repository is around 77MB and I +have forked KISS Linux (as a shallow copy) around December. Obviously, I have +commits that I ommitted. I tend to create commits I dislike, which I change with +=git reset --soft HEAD^=, which doesn't actually remove the commits, etc. A user +will have a repository much smaller than mine. + +This is a precaution with the added bonuses of speed and dropping a mandatory +dependency. + +You can see the rest of the changelog [[https://github.com/CarbsLinux/kiss/blob/master/CHANGELOG.md][here]]. + +** Binary Repositories +:PROPERTIES: +:CUSTOM_ID: binary-repository +:END: + +A few days ago, I have also published [[https://github.com/CarbsLinux/kiss-bin][kiss-bin]], a first version for managing +binary repositories. Currently, there are some caveats that I'll be fixing along +the way. I decided not to include this in the package manager natively as +managing the source based and binary based packages together adds levels of +complexity that we do not want. Instead, this is an extension for kiss which +sources the package manager as a library. I hope to see it being adopted by +others interested on the matter as well. diff --git a/content/blog/20200617.org b/content/blog/20200617.org new file mode 100644 index 0000000..2524fb6 --- /dev/null +++ b/content/blog/20200617.org @@ -0,0 +1,89 @@ +#+TITLE: June 2020 News Post +#+AUTHOR: Cem Keylan +#+DATE: <2020-06-17 Wed> +#+ALIASES[]: /blog/20200617.html + +This will be an active month for Carbs as major changes to the base and the +package manager will be coming up. + +** Statically linking the base +:PROPERTIES: +:CUSTOM_ID: statically-linking-the-base +:END: + +For the past couple of weeks I have been trying to simplify the base and +statically link the core (mostly binaries rather than libraries). I usually see +some people extremely opposed to static linking as I also see the opposite on +people. + +I believe that binaries on the core should always be linked statically. This +ensures that an SONAME bump to =libObscure.so= will not break the core +functionality of your system, forcing you to use external resources to recover +from such an issue. As long as you can compile, use core utilities, edit text, +and access the web, you can solve any given issue on your system. + +However, I don't think that removing shared libraries is sensible either. Not +every piece of software out there is good quality enough to be statically +linked. + +** Major changes on the core repository +:PROPERTIES: +:CUSTOM_ID: major-changes-on-the-core-repository +:END: + +There have been drastic changes to the core repository and the base rootfs this +month (with more on the way). Right now changes are as follows. + +*** Removed from Core +:PROPERTIES: +:CUSTOM_ID: removed-from-core +:END: +- =git= +- =libressl= +- =grub= +- =bison= +- =dhcpcd= +- =ubase= + +*** Added to Core +:PROPERTIES: +:CUSTOM_ID: added-to-core +:END: +- =bearssl=, as a =libressl= replacement +- =byacc=, as a =bison= replacement + +*** Statically linked +:PROPERTIES: +:CUSTOM_ID: statically-linked +:END: +- =kiss= +- =neatvi= +- =mandoc= +- =byacc= +- =m4= +- =e2fsprogs= +- =make= +- =pkgconf= +- =sbase= +- =libnl= +- =wpa_supplicant= +- =bearssl= + +** Making the wiki available offline +:PROPERTIES: +:CUSTOM_ID: making-the-wiki-available-offline +:END: + +Soon, all documentation regarding Carbs Linux will be avaialable to be installed +from the core repository in a =carbs-docs= package along with its own document +crawler. Currently, the documentation regarding the installation process is a +little outdated which will also receive some important updates. + +** ISO image for Carbs +:PROPERTIES: +:CUSTOM_ID: iso-image-for-carbs +:END: + +I am thinking of releasing an ISO image in order to provide a standardized +environment for installation along with installation helper tools in the spirit +of =arch-install-scripts=. Let's see how that's going to play out. diff --git a/content/blog/20200803.org b/content/blog/20200803.org new file mode 100644 index 0000000..c2c2b6b --- /dev/null +++ b/content/blog/20200803.org @@ -0,0 +1,72 @@ +#+TITLE: August 2020 News Post +#+AUTHOR: Cem Keylan +#+DATE: <2020-08-03 Mon> +#+ALIASES[]: /blog/20200803.html + +We are having some stalls during this summer, as I am currently working on +university-related stuff. Nonetheless, there are some important changes that I +want to share in this month's post. + +#+TOC: headlines 1 local + +** Carbs Packaging Tools +:PROPERTIES: +:CUSTOM_ID: carbs-packaging-tools +:END: + +This month I have reworked =kiss= into a new package manager, now renamed as +=cpt=. Updating =kiss= will now bootstrap the new package manager, so you don't +have to manually edit your system. If you don't like the idea of this, you can +look up the =post-install= script on =core/kiss= and apply the changes manually. + +You will also need to rename your =KISS_*= variables to =CPT_*=. So, =KISS_PATH= +becomes =CPT_PATH=. + +The rework changes the previous commands on the package manager into standalone +tools, and move the package manager functions to a library. This makes it easier +for a user to import functions and variables from the package manager, and +extend the package manager with their own intended way. Previously this required +ugly hacks and workarounds to use the package manager functions. I will be +making use of these changes to re-implement binary package management functions +as well. + +If you want to use the library on your script you can simply do this: + +#+BEGIN_SRC sh +#!/bin/sh +. cpt-lib +(...) +#+END_SRC + +There are obviously some clean-up and simplifications needed in this new +tool-based package management method. + +** Docs +:PROPERTIES: +:CUSTOM_ID: docs +:END: + +I have added documentation for the distribution, and finally updated the guide +for installation. It is now /almost/ complete. These docs can be installed to +your system for online viewing. I will also add a documentation crawler similar +to how werc works (but as an offline viewer). You can find =carbs-docs= from +the repository. Currently, the documentation lacks but I will be adding new +stuff. These will solely be distribution specific documentation and will not be +a wiki-like source. If anyone would like to contribute to a wiki-like +documentation source, I would happily re-open the distribution wiki. You can +find the source on [[https://github.com/CarbsLinux/docs]]. + +** Re-opening the Carbs Linux server +:PROPERTIES: +:CUSTOM_ID: re-opening-the-carbs-linux-server +:END: + +Back in May, I had shutdown the Carbs Linux server due to financial issues, but +I am slowly reverting to the self-hosted model. Back then, the git repositories +were mirrored to GitHub, and the management was overall much more flexible. The +server used to run Carbs Linux as well (that was fun and horrifying at the same +time). Now, I will be relaunching the git server which will be the upstream +source before August 5. You can switch your remote, but GitHub will stay as a +remote nonetheless. + +*EDIT:* The git-server is up! diff --git a/content/blog/20201210.org b/content/blog/20201210.org new file mode 100644 index 0000000..f945dc5 --- /dev/null +++ b/content/blog/20201210.org @@ -0,0 +1,23 @@ +#+TITLE: First Year of Carbs Linux +#+AUTHOR: Cem Keylan +#+DATE: <2020-12-10 Thu> +#+ALIASES[]: /blog/20201210.html + +December 10, 2020 marks the first year after the initial release of Carbs Linux. +When I forked the KISS Linux repository on the 9th of December, I was fairly new +to package management. Carbs Linux used to be almost identical to KISS Linux. A +lot has changed since then: + +- [2020 Jan 13] Replaced default init system to =sinit= +- [2020 Jan 15] Packaged =WebKit2GTK= +- [2020 May 17] Added =bearssl= on the testing repository +- [2020 May 28] Added =rsync= repository support to kiss +- [2020 Jun 03] Replaced =bison= with =byacc= +- [2020 Jun 11] Replaced =libressl= with =bearssl= +- [2020 Jun 24] Replaced =kiss= with =cpt= + +I have really enjoyed maintaining and developing this distribution, and I want +to thank everyone who was involved in some way or another. While I have slowed +down in development due to college workload, I am still actively maintaining all +the packages on the repository. I do have some ideas that I am thinking of +implementing during the semester break. Hope to see you all in January. diff --git a/content/blog/20210303.org b/content/blog/20210303.org new file mode 100644 index 0000000..bf7ad96 --- /dev/null +++ b/content/blog/20210303.org @@ -0,0 +1,84 @@ +#+TITLE: March 2021 News Post +#+DATE: <2021-03-03 Wed> +#+AUTHOR: Cem Keylan +#+ALIASES[]: /blog/20210303.html + +Greetings! I am really happy to announce some few changes to the distribution. I +wanted to write a new blog post to summarise them so you can get up to what is +happening in Carbs Linux. + +#+TOC: headlines 1 local + +** Switching to Sourcehut +:PROPERTIES: +:CUSTOM_ID: switching-to-sourcehut +:END: + +I have been thinking of moving development to [[srht:~carbslinux][Sourcehut]] for a while now. If your +repository remotes reside at GitHub you are encouraged to switch them to +Sourcehut. Mailing lists for discussion, development, and announcements have +also been created for both the distribution, and the package manager using +Sourcehut as the host. See the [[file:../mailing-lists.html][page on mailing lists]] for more information on +subscribing to the mailing lists. + +This does mean that issue trackers now reside at Sourcehut, and I will be +deactivating those in GitHub very soon. I have yet to decide whether on keeping +the mirrors or deactivating them completely, but I will be giving three months +of notice if it is decided to move away from GitHub completely. Regardless, the +main repositories are still hosted at [[https://git.carbslinux.org][our own server]], and I have no intentions +on changing that for the foreseeable future. + +*** State of our own Git repository + +In the near future, I will be moving our git server, and will be opening spots +for other users, who want to make use of the git server. People can use it to +serve their own =cpt= repositories, or personal projects that can be related to +Carbs. I will post an announcement when this will happen, and a blog post that +tells more about the new repository. Expect more by the end of March. + +** Wayland and Dbus +:PROPERTIES: +:CUSTOM_ID: wayland-and-dbus +:END: + +There are new repositories for [[carbs-pkg:dbus/dbus][dbus]], and [[carbs-pkg:wayland/wayland][wayland]], which are still works in +progress. These are meant to be options for those who /request/ it, and are not +meant to be enforced package repositories. For example, any package outside of +the ~dbus~ repository shouldn't require it to work, and shouldn't list it as a +dependency. Packages can still be written using those as optional dependencies. + +This change also raises the question of whether Carbs is ditching Xorg or not. +No, we are not ditching Xorg, Wayland is added as to serve an extra option for +those who don't own graphics cards from some specific manufacturer. + +** Next release for CPT +:PROPERTIES: +:CUSTOM_ID: next-release-for-cpt +:END: + +I had been working on the next major release for the package manager since +December, and it is coming close to completion. This release focuses more on the +library itself, and using the library more effectively on the contrib tools. +Unfortunately, until this time, the library wasn't properly documented, and +there weren't any unit tests for the library. Even though, the changes to the +package manager are close to completion, documentation and tests are what is +holding me from making the next release. + +** Website Update +:PROPERTIES: +:CUSTOM_ID: website-update +:END: + +I have recently updated the website in its entirety so that it looks more +appealing. I have updated the stylesheets and created a [[srht:~carbslinux/carbslinux-style][stylesheet repository]] +and I am planning on extending it to use with other Carbs websites. + +The website is now generated using Emacs [[https://orgmode.org][Org Mode]], and its biggest advantage is +that I can freely write posts without thinking about plaintext output, which +held me back from writing big posts. I have also created a few org-mode link +abbreviations such as the one that let me easily link to packages. There are +also few disadvantages from using this method, which I am hoping to resolve as +moving forward. One of these disadvantages made me remove the generated website +from the git repository, now I generate and serve the website through +~post-receive~ hooks. Once I resolve these, however, I will be adding the =docs= +directory back to the repository. diff --git a/content/blog/20210415.org b/content/blog/20210415.org new file mode 100644 index 0000000..609af88 --- /dev/null +++ b/content/blog/20210415.org @@ -0,0 +1,120 @@ +#+TITLE: April 2021 News Post +#+DATE: <2021-04-15 Thu> +#+AUTHOR: Cem Keylan +#+ALIASES[]: /blog/20210415.html + +Greetings from the cruellest month of the year! We have some important +topics this month that I wanted to share with you. + +#+TOC: headlines 1 local + +** CPT version 6 Release +:PROPERTIES: +:CUSTOM_ID: cpt-version-6-release +:END: + +I have released the version 6 of our package manager and did a few bugfix +releases, which contained a variety of changes made since December. The +[[https://fossil.carbslinux.org/cpt/log][Changelog]] details them on our new Fossil repository, which I will be talking +about more on a later section of this post. + +As I have mentioned on the [[{{}}][previous news post]], I was holding the release for a +few bugfixes, and documentation. The documentation is complete enough to be +shipped, but there are still some things to add. The manual pages, and the +documentation for the user tools, however, are considered complete. + +** New rootfs tarball +:PROPERTIES: +:CUSTOM_ID: new-rootfs-tarball +:END: + +A new tarball has been released after almost 7 months! This tarball targets the +=x86_64= architecture, and can be installed following the instructions. + +*** Signing Releases +:PROPERTIES: +:CUSTOM_ID: signing-releases +:END: + +Releases are now signed with the OpenBSD tool [[https://man.openbsd.org/signify][signify(1)]] instead of GnuPG. There +are two packages on our repository that provide this tool, {{}}, +and {{}}. Debian-based distributions usually provide it +under =signify-openbsd=, and other distributions provide it as just =signify=. +Each release will have a different public key, those can be found on +[[https://dl.carbslinux.org/keys]]. Since the public keys are so small, I will also +be embedding the latest release key to the README file of the package +repository, and the installation manual. + +*** The state of i686 +:PROPERTIES: +:CUSTOM_ID: the-state-of-i686 +:END: + +As you may have noticed, I haven't made a release for the =i686= architecture +this time. I won't be retiring it, but my old laptop, which was the reason I +initially ported Carbs Linux to the architecture in the first place, has stopped +working. I won't be retiring it just now, but I also don't see anyone else +interested in it. If you are interested in taking the maintainership for the +architecture, you can send a mail to the mailing-list. Otherwise, I will be +dropping the architecture by the end of June. + +** Fossil +:PROPERTIES: +:CUSTOM_ID: fossil +:END: + +I have recently been toying around with the alternate version control system, +[[https://fossil-scm.org][Fossil]]. Since no Carbs Linux News Post is complete without some sort of +repository migration[fn:1], the canonical repository of the package manager has +been moved to Fossil on [[https://fossil.carbslinux.org/cpt]]. However, this doesn't +mean that the mailing-list on Sourcehut will be removed, those will be in place +until I decide to serve mailing lists on our own server. + +As time goes on, I am also planning on switching some other repositories to +Fossil as well. I will be switching the Documentation repository next, and the +Package repository when Fossil support is added to the package manager. + +*** Fossil support on the package manager +:PROPERTIES: +:CUSTOM_ID: fossil-support-on-the-package-manager +:END: + +Right now, the package manager supports Git, Mercurial, and Rsync repositories. +I do want to add Fossil repository support, however this might take long to +implement as I will be rewriting the repository backend to simplify and collect +the operations made by the package manager to manage package repositories. + +I'm aiming for a new system that makes it easy and simple to manage repositories +outside of the package manager's scope as well. These changes can be followed +from the [[https://fossil.carbslinux.org/cpt/timeline?r=repository-backend][repository-backend]] branch, which as of the time of writing this blog +post, contains no new check-ins, and specifically the status of Fossil support +can be tracked from [[https://fossil.carbslinux.org/cpt/tktview?name=b354510bc3][this ticket]]. + +** Switching back to LibreSSL +:PROPERTIES: +:CUSTOM_ID: switching-back-to-libressl +:END: + +This is the 4th time Carbs Linux is switching SSL providers, but I am planning +on this to be the final change for the foreseeable future. The reason behind +this change is pragmatism. Even though BearSSL is sufficient enough to run the +base, some essential packages (such as Python for its SSL module) depended on +LibreSSL, meaning that using LibreSSL was mandatory if you weren't simply using +the bare-minimum. Using 2 separate SSL libraries is pointless when you have the +option to easily use a single one. + +** Consistent communication +:PROPERTIES: +:CUSTOM_ID: consistent-communication +:END: + +I have decided to be more consistent on these news posts, I will try to make +these every 15th of the month. I have also recently came back to IRC to be as +active as possible. At least I can always be reached by mail, if all else fails! + +See you on the next post! + +** Footnotes + +[fn:1] "No mention of openbsd on the internet is complete without a long thread +about source control migration." -- tedu@ [[https://gameoftrees.org]] diff --git a/content/blog/20210525.org b/content/blog/20210525.org new file mode 100644 index 0000000..ecbd070 --- /dev/null +++ b/content/blog/20210525.org @@ -0,0 +1,50 @@ +#+TITLE: May 2021 News Post +#+DATE: 2021-05-25 +#+AUTHOR: Cem Keylan +#+ALIASES[]: /blog/20210525.html + +Welcome to May! It has been a rather quiet month, mostly dedicated to fixing +some small bugs and working on some features. + +#+TOC: headlines 1 local + +** Fossil support and new repository backend +:PROPERTIES: +:CUSTOM_ID: fossil-support +:END: + +In the [[{{< relref "20210415.org#fossil" >}}][previous news post]] I mentioned adding fossil support to the package +manager. Fossil support is now merged to the trunk branch of the package +manager, and I have completely rewritten the repository backend which has +better performance and is easier to extend. There are still some changes to +make, but the feature will be added in the =6.1.0= release. + +** Moving IRC channel +:PROPERTIES: +:CUSTOM_ID: moving-irc-channel +:END: + +After the recent controversies surrounding Freenode, we have also switched to +the new Libera IRC network. Since our previous logger =globbot= is also shutting +down, I have set up an IRC logger powered by [[https://git.causal.agency/litterbox][litterbox]]. The IRC logs can be +found on [[https://irclogs.carbslinux.org]]. The website includes both a searchable +web interface, and plaintext dumps of daily logs. Even though the channel is +low-volume, I think logging it is extremely important. + +** New i686 release +:PROPERTIES: +:CUSTOM_ID: new-i686-release +:END: + +I have decided to make an i686 release last week because it was really outdated, +but it will likely be the last one depending on its use on the few following +months. If you are interested in keeping support for the architecture, feel free +to join the IRC channel to let me know. Maintaining i686 isn't really much of a +burdon on me, but there is no point in maintaining an architecture that isn't +used by anyone. + +Compared to the last month, there aren't much news, and there have been other +things that I needed to attend to. I started writing this post on the 13th, and +only had the time to finish it now! + +See you on the next post! diff --git a/content/blog/20210630.org b/content/blog/20210630.org new file mode 100644 index 0000000..48611ac --- /dev/null +++ b/content/blog/20210630.org @@ -0,0 +1,15 @@ +#+TITLE: June 2021 News Post +#+DATE: 2021-06-30 +#+AUTHOR: Cem Keylan +#+ALIASES[]: /blog/20210630.html + +Hello! This month was rather slow for me while I was mostly away for some +vacation and I had some connectivity issues. I mostly tried to keep the packages +up to date, and to keep up with the IRC channel as I've had some issues with the +new logger we are using in the channel. I have very recently returned to home, +and I'm mostly working on with the next release of the package manager. + +Hopefully, next month will be more newsworthy as I will take my time to work on +the new package repository backend, and document its features. + +See you on the next post! diff --git a/content/blog/20210831.org b/content/blog/20210831.org new file mode 100644 index 0000000..f39a3c9 --- /dev/null +++ b/content/blog/20210831.org @@ -0,0 +1,26 @@ +#+TITLE: August 2021 News Post +#+DATE: 2021-08-31 +#+AUTHOR: Cem Keylan +#+DRAFT: true + +After a long absence during the summer, I think it's the appropriate time to +write a new blog post about the changes that arrived to the distribution. + +#+TOC: headlines 1 local + +* Repository meta file + +You might have noticed that most packages now contain a file named =meta=. This +file contains a small description, license for the package, and the maintainer +information of the package. A sample meta file looks like the following: + +#+begin_example +description = Carbs Packaging Tools +license = MIT +maintainer = Cem Keylan +#+end_example + + +* TODO motd file +* TODO kiss compatibility +* TODO linux-headers diff --git a/content/blog/_index.md b/content/blog/_index.md new file mode 100644 index 0000000..a2797a4 --- /dev/null +++ b/content/blog/_index.md @@ -0,0 +1,5 @@ +--- +title: Blog Index +--- + +This is the Carbs Linux blog index. You can find every post here. diff --git a/content/docs.org b/content/docs.org new file mode 100644 index 0000000..5737f51 --- /dev/null +++ b/content/docs.org @@ -0,0 +1,119 @@ +#+TITLE: Documentation +#+ALIASES[]: /docs.html + +Below are sources of documentation regarding Carbs Linux and tools surrounding +it. + +#+TOC: headlines 1 + +* User Manual +:PROPERTIES: +:CUSTOM_ID: user-manual +:END: + +Carbs Linux User Manual aims to be a general-purpose explanation of the +distribution, from the installation steps to the style guide of the project. It +can be accessed or otherwise obtained with various methods: + +** HTML +:PROPERTIES: +:CUSTOM_ID: html +:END: + +You can view the Manual from your browser. The Manual can be viewed as + +- [[file:/docs/carbslinux/][One HTML page per node]] +- [[/docs/carbslinux.html][Single HTML page]] + +** Plain text +:PROPERTIES: +:CUSTOM_ID: plain-text +:END: + +You can download [[/docs/carbslinux.txt][carbslinux.txt]] in order to view the Manual from your preferred +pager. + +#+begin_src sh +curl -LO https://carbslinux.org/docs/carbslinux.txt +less carbslinux.txt +#+end_src + +** Info +:PROPERTIES: +:CUSTOM_ID: info +:ORDERED: t +:END: + +You can install the =carbs-docs= package and either =texinfo= or =info= packages +to view the Manual offline. + +#+begin_src sh +cpt bi info carbs-docs +info carbslinux +#+end_src + +** Source +:PROPERTIES: +:CUSTOM_ID: source +:END: + +You can also acquire the source for generating the Manual, which requires +=emacs= for exporting the Org-mode documentation and =texinfo= for generating +html/info pages. + +#+begin_src sh +git clone https://git.carbslinux.org/docs +#+end_src + +* Installation Instructions +:PROPERTIES: +:CUSTOM_ID: installation-instructions +:END: + +Installation Manual is part of the [[*User Manual][User Manual]], but it can also be obtained +separately: + +- [[/install/][HTML]] +- [[/install.txt][Plaintext]] + +* Carbs Packaging Tools +:PROPERTIES: +:CUSTOM_ID: carbs-packaging-tools +:END: + +CPT User Manual has the implementation details of the package manager utilities. +It can be accessed or otherwise obtained with various methods: + +** HTML +:PROPERTIES: +:CUSTOM_ID: cpt-html +:END: + +You can view the Manual from your browser. The Manual can be viewed as + +- [[/docs/cpt/][One HTML page per node]] +- [[/docs/cpt.html][Single HTML page]] + +** Plain text +:PROPERTIES: +:CUSTOM_ID: cpt-plain-text +:END: + +You can download [[/docs/cpt.txt][cpt.txt]] in order to view the Manual from your preferred pager. + +#+begin_src sh +curl -LO https://carbslinux.org/docs/cpt.txt +less cpt.txt +#+end_src + +** Info +:PROPERTIES: +:CUSTOM_ID: cpt-info +:END: + +Info page for CPT is included in the tarball, which can be read offline by +installing either =texinfo= or =info= packages. + +#+begin_src sh +info cpt +#+end_src diff --git a/content/download.org b/content/download.org new file mode 100644 index 0000000..7445ad4 --- /dev/null +++ b/content/download.org @@ -0,0 +1,23 @@ +#+TITLE: Download +#+ALIASES[]: /download.html + +* Download Carbs Linux + +Below are the latest tarballs for the =x86_64= and =i686= architectures. You can +visit [[https://dl.carbslinux.org/releases]] for all downloads. Follow the +[[file:/install.org][Installation guide]] to learn more about verifying the releases, and the required +steps for installing the system. + +* x86-64 +:PROPERTIES: +:CUSTOM_ID: x86-64 +:END: + +[[https://dl.carbslinux.org/releases/x86_64/carbs-rootfs.tar.xz][carbs-rootfs.tar.xz]] | [[https://dl.carbslinux.org/releases/x86_64/carbs-rootfs.tar.xz.sha256][SHA256SUM]] | [[https://dl.carbslinux.org/releases/x86_64/carbs-rootfs.tar.xz.sig][Signature]] + +* i686 +:PROPERTIES: +:CUSTOM_ID: i686 +:END: + +[[https://dl.carbslinux.org/releases/i686/carbs-rootfs.tar.xz][carbs-rootfs.tar.xz]] | [[https://dl.carbslinux.org/releases/i686/carbs-rootfs.tar.xz.sha256][SHA256SUM]] | [[https://dl.carbslinux.org/releases/i686/carbs-rootfs.tar.xz.sig][Signature]] diff --git a/content/install.org b/content/install.org new file mode 100644 index 0000000..19397fc --- /dev/null +++ b/content/install.org @@ -0,0 +1,352 @@ +# Created 2021-08-14 Sat 17:54 +#+TITLE: Carbs Linux Installation Guide +#+AUTHOR: Cem Keylan +These are the step-by-step instructions for installing Carbs Linux. It can be +acquired as plain-text to be viewed offline with a pager from +[[https://carbslinux.org/install.txt]]. + +#+begin_src sh + curl -sL https://carbslinux.org/install.txt | less +#+end_src + +#+toc: headlines 3 local +* Preparing Environment +To install Carbs Linux, you will need a Live Linux ISO. For that purpose, you +can obtain a Gentoo or Void Linux live image. You can follow their instructions +to boot and setup your network. + +You will need the following programs in order to install Carbs Linux: + +- tar +- wget +- xz +- some form of base utilities (coreutils, sbase, busybox, etc.) + +Rest of these instructions will assume that you have set all of these up, and +will continue on that point. + +** Download +First, we need to download the rootfs tarball. You can do the following in order +to obtain the rootfs. If you are using an i686 machine, replace the =x86_64= +with =i686=. We are setting this in a URL variable so that we don't have to +write it every time. + +#+begin_src sh + URL=https://dl.carbslinux.org/releases/x86_64 + wget $URL/carbs-rootfs.tar.xz.sha256 + sha256sum -c carbs-rootfs.tar.xz.sha256 +#+end_src + +** Signature verification +It is highly recommended to verify the signature of the tarball. You will need +the OpenBSD tool =signify(1)= for this. Many distributions provide a package for +it, if you are using a Carbs Linux host, you can also install the package +=otools= which provides =signify=. Download the signature first. + +#+begin_src sh + wget $URL/carbs-rootfs.tar.xz.sig +#+end_src + +The signature file should say something similar to + +#+results: +: untrusted comment: verify with carbslinux-2021.08.pub +: RWTK4GFDD7JiohUHBeJXuKw+/P3K4ZRR8jQud0iOxNDbn7WCFxQsxt9FUNSEiXfLjkm1Ez8c3esRG8oydrsFUFpBGtekFt5obgo= + + +Grab the key (which probably should be the latest one) that is written on the +file from [[https://dl.carbslinux.org/keys/]] so you can verify the signature. The +latest Signify public key is also available on the [[https://git.carbslinux.org/repository][package repository]], so you can +check the validity of the public key from multiple locations, or just copy paste +that portion to a file and use that instead. + +#+begin_src sh + PUBKEY=carbslinux-2021.08.pub + wget https://dl.carbslinux.org/keys/$PUBKEY +#+end_src + +You can now verify the distribution tarball with signify. + +#+begin_src sh + signify -V -m carbs-rootfs.tar.xz -p $PUBKEY +#+end_src + +If everything went alright, this should output: + +#+begin_example + Signature Verified +#+end_example + + + +** Extracting the tarball +You will need to extract the tarball to your desired location. For partitioning, +you can follow [[https://wiki.archlinux.org/index.php/Partitioning][this guide]]. This will assume that you will be mounting your root +partition to =/mnt=. + +#+begin_src sh + mount /dev/sdx1 /mnt + tar xf carbs-rootfs.tar.xz -C /mnt +#+end_src + +* Chroot +Chroot into Carbs Linux by running the chroot helper inside the rootfs! + +#+begin_src sh + /mnt/bin/cpt-chroot /mnt +#+end_src + +** Setting up repositories +Newest tarballs do not come with repositories, so you will need to manually +obtain them, and set your =CPT_PATH= environment variable. Carbs Linux +repositories can either be obtained by =git= or =rsync=. While rsync +repositories are overall faster and smaller, git offers the whole history of the +repository and a means to manipulate your repository as you like it. If you want +to obtain the git repository, you will need to install =git= itself. + +The following guide will assume that you put the repositories into =~/repos/= +directory, but you can put the repositories into any directory you want. So go +ahead and create that directory: + +#+begin_src sh + mkdir -p $HOME/repos +#+end_src + +*** Obtaining from git + +Carbs Linux git repositories can be found both from the main server and GitHub +(mirror). Here are both their repository links. You can clone any of them. + +- https://git.carbslinux.org/repository +- https://git.sr.ht/~carbslinux/repository + +#+begin_src sh + git clone git://git.carbslinux.org/repository $HOME/repos/carbs +#+end_src + +*** Obtaining from rsync + +Carbs Linux rsync repositories live in rsync://carbslinux.org/repo. In +order to obtain it, run the following: + +#+begin_src sh + rsync -avc rsync://carbslinux.org/repo $HOME/repos/carbs +#+end_src + +*** Making the package manager use the repositories + +In your shell's configuration file, or in your =~/.profile= file, add the +following lines: + +#+begin_src sh + CPT_PATH=$HOME/repos/carbs/core + CPT_PATH=$CPT_PATH:$HOME/repos/carbs/extra + CPT_PATH=$CPT_PATH:$HOME/repos/carbs/xorg + CPT_PATH=$CPT_PATH:$HOME/repos/carbs/community + export CPT_PATH +#+end_src + +** Updating packages +It is good practice to make sure your system is up to date, especially before +building new packages. If there is an update for the package manager you will +need to update twice. + +#+begin_src sh + cpt-update && cpt-update +#+end_src + +** Installing packages +Since you are operating on a really small base, you might need to build and +install new programs to extend the functionality of your system. In order to +build and install packages new packages in Carbs, you need to execute the +following. "Package" is not actually a package and is given as an example. + +#+begin_src sh + cpt-build package + cpt-install package +#+end_src + +** Essential Software +Here is a small list of software that you might want to have on your system as +you are setting up. You might want to check the *Software* section in the full +documentation to learn more about other packaged software. + +*BOOTLOADERS* + +- efibootmgr +- grub + +*FILESYSTEMS* + +- e2fsprogs +- dosfstools +- ntfs-3g + +*NETWORKING* + +- dhcpcd +- wpa_supplicant + +*TEXT EDITORS* + +- nano +- vim + +*DOCUMENTATION* + +- carbs-docs +- man-pages +- man-pages-posix + +** Obtaining the documentation +All the documentation for Carbs Linux can be found on a single info manual to be +viewed offline. You can obtain either =texinfo= or the =info= packages in order +to view the documentation. + +#+begin_src sh + # Install the documentation. + cpt b carbs-docs && cpt i carbs-docs + + # Install either texinfo or the info package. We will be installing standalone info + # as it doesn't need perl. + cpt b info && cpt i info + + # You can then run info and navigate through the documentation. + info carbslinux +#+end_src + +* System Configuration +After you have finished installing some extra packages, you can configure your +system to your liking. + +** Configuring hostname +You might want to add a hostname, especially in a networked environment. Your +hostname will default to 'carbslinux' unless you set this. + +#+begin_src sh + echo your-hostname > /etc/hostname +#+end_src + +** Hosts file +You can edit your /etc/hosts file, which is the static lookup table for host +names. By default, there are two entries for localhost which are OKAY. You can +replace the 'localhost' part of these entries to your hostname. + +#+begin_example + 127.0.0.1 localhost.localdomain localhost + ::1 localhost.localdomain localhost ip6-localhost +#+end_example + +* Kernel +Kernel isn't managed under the main repositories, even though you could package +one for your personal use. Here is an [[https://github.com/cemkeylan/kiss-repository/tree/master/personal/linux][example kernel package]], which you will +need to reconfigure for your specific setup if you want to make use of it. + +** Obtaining the kernel sources +You can visit the [[https://kernel.org]] website to choose a kernel that you want +to install. Though only the latest stable and longterm (LTS) versions are +supported. + +#+begin_src sh + # Download the kernel and extract it + wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.9.1.tar.xz + tar xf linux-5.9.1.tar.xz + + # Change directory into the kernel sources + cd linux-5.9.1 +#+end_src + +** Kernel dependencies +In order to compile the kernel you will need to install some dependencies. You +will need =libelf=, and =bison= to compile the kernel. If you want to configure +using the menu interface you will also need =ncurses=. + +#+begin_src sh + # The package manager asks to install if you are building more than one package, + # so no need to run 'cpt i ...' + cpt b libelf ncurses +#+end_src + +In the vanilla kernel sources, you need perl to compile the kernel, but it can +be easily patched out. You will need to apply the following patch. Patch was +written by [[https://github.com/E5ten][E5ten]]. You will need to obtain and apply the patch in the kernel +source directory. + +#+begin_src sh + wget https://dl.carbslinux.org/distfiles/kernel-no-perl.patch + patch -p1 < kernel-no-perl.patch +#+end_src + +** Building the kernel +Next step is configuring and building the kernel. You can check Gentoo's +[[https://wiki.gentoo.org/wiki/Kernel/Configuration][kernel configuration guide]] to learn more about the matter. Overall, Gentoo Wiki +is a good place to learn about configuration according to your hardware. The +following will assume a monolithic kernel. + +#+begin_src sh + make menuconfig + make + install -Dm755 $(make -s image_name) /boot/vmlinuz-linux +#+end_src + +* Making your system bootable +In order to be able to boot your fresh system, wou will need an init-daemon, +init-scripts and a bootloader. The init daemon is already provided by busybox, +but you can optionally change it. + +** Bootloader +In the main repository, there is efibootmgr and grub to serve as bootloaders. +efibootmgr can be used as a standalone bootloader, or can be used to install +grub in a UEFI environment. efibootmgr is needed unless you are using a device +without UEFI support (or you really want to use BIOS for a reason). + +*** GRUB BIOS installation + +#+begin_src sh + cpt b grub && cpt i grub + grub-install --target=i386-pc /dev/sdX + grub-mkconfig -o /boot/grub/grub.cfg +#+end_src + +*** GRUB UEFI installation + +#+begin_src sh + cpt b efibootmgr && cpt i efibootmgr + cpt b grub && cpt i grub + + grub-install --target=x86_64-efi \ + --efi-directory=esp \ + --bootloader-id=CarbsLinux + + grub-mkconfig -o /boot/grub/grub.cfg +#+end_src + +** Init scripts +Only thing left to do is installing the init-scripts, and now you are almost +ready to boot your system! + +#+begin_src sh + cpt b carbs-init && cpt i carbs-init +#+end_src + +** Fstab +You can now manually edit your fstab entry, or you can use the genfstab tool. +If you want to use the tool, exit the chroot and run the following: + +#+begin_src sh + wget https://github.com/cemkeylan/genfstab/raw/master/genfstab + chmod +x genfstab + ./genfstab -U /mnt >> /mnt/etc/fstab +#+end_src + +* Post-installation +The base installation is now complete, you can now fine tune your system +according to your needs. Rest of these instructions are completely optional. +You can check the rest of the documentation to learn more about the system. + +** KISS repositories +There have been recent changes to the =kiss= package manager that breaks +compatibility with =cpt=. These changes throw away the entire premise of their +"static" packaging system. =cpt= will never implement those changes, so don't +expect any KISS package that was changed during or after July 2021 to work with +=cpt=. diff --git a/content/mailing-lists.org b/content/mailing-lists.org new file mode 100644 index 0000000..c33848e --- /dev/null +++ b/content/mailing-lists.org @@ -0,0 +1,24 @@ +#+TITLE: Mailing Lists + +Carbs Linux aims to move the development and discussion to mailing lists as much +as possible, using the mailing lists hosted at [[https://lists.sr.ht/~carbslinux][Sourcehut]]. The following mailing +lists are available for subscription: + +- [[https://lists.sr.ht/~carbslinux/carbslinux-devel][~carbslinux/carbslinux-devel]] +- [[https://lists.sr.ht/~carbslinux/carbslinux-discuss][~carbslinux/carbslinux-discuss]] +- [[https://lists.sr.ht/~carbslinux/carbslinux-announce][~carbslinux/carbslinux-announce]] +- [[https://lists.sr.ht/~carbslinux/cpt-devel][~carbslinux/cpt-devel]] +- [[https://lists.sr.ht/~carbslinux/cpt-discuss][~carbslinux/cpt-discuss]] +- [[https://lists.sr.ht/~carbslinux/cpt-announce][~carbslinux/cpt-announce]] + +If you want to subscribe to any of these mailing lists, send an empty mail to +one of these mailing lists in the following format: + +#+begin_example +listname+subscribe@lists.sr.ht + +~carbslinux/carbslinux-announce+subscribe@lists.sr.ht +#+end_example + +You are really encouraged to subscribe to the announcement mailing list +=~carbslinux/carbslinux-announce=. diff --git a/content/news/20191210.org b/content/news/20191210.org new file mode 100644 index 0000000..af7a540 --- /dev/null +++ b/content/news/20191210.org @@ -0,0 +1,4 @@ +#+TITLE: Dec 10, 2019 +#+DATE: <2019-12-10 Tue> + +First alpha release was made. See the [[https://dl.carbslinux.org/releases][downloads page]]. diff --git a/content/news/20191212.org b/content/news/20191212.org new file mode 100644 index 0000000..2f66b54 --- /dev/null +++ b/content/news/20191212.org @@ -0,0 +1,6 @@ +#+TITLE: Dec 12, 2019 +#+DATE: <2019-12-12 Thu> + +Busybox and Busybox-init has been seperated into two different packages. +This is for adding standalone runit/runit-init to the repositories. + diff --git a/content/news/20191217.org b/content/news/20191217.org new file mode 100644 index 0000000..dc10d75 --- /dev/null +++ b/content/news/20191217.org @@ -0,0 +1,5 @@ +#+TITLE: Dec 17, 2019 +#+DATE: <2019-12-17 Tue> + +Installation instruction are now complete. A review would be greatly appreciated! + diff --git a/content/news/20191218.org b/content/news/20191218.org new file mode 100644 index 0000000..5184fec --- /dev/null +++ b/content/news/20191218.org @@ -0,0 +1,4 @@ +#+TITLE: Dec 18, 2019 +#+DATE: <2019-12-18 Wed> + +carbs-rootfs-20191218.tar.xz was released. diff --git a/content/news/20200109.org b/content/news/20200109.org new file mode 100644 index 0000000..8804729 --- /dev/null +++ b/content/news/20200109.org @@ -0,0 +1,13 @@ +#+TITLE: Jan 09, 2020 +#+DATE: <2020-01-09 Thu> + +Happy new year, everyone! I am back after some long silence. I was unable to commit for a +while, but I have pulled some new updates from the KISS repository, added some of my own. +This week I will be changing/adding some things. + +Important things are, + +- Carbs-init was updated to 0.3. +- I will be adding an implementation of suckless.org's [[https://core.suckless.org/sinit][sinit]] as =carbs-sinit= +- Carbs Repository was added to [[https://repology.org/repository/carbs][repology.org]] +- A new rootfs tarball will be coming up tomorrow. diff --git a/content/news/20200110.org b/content/news/20200110.org new file mode 100644 index 0000000..c71f61b --- /dev/null +++ b/content/news/20200110.org @@ -0,0 +1,4 @@ +#+TITLE: Jan 10, 2020 +#+DATE: <2020-01-10 Fri> + +carbs-rootfs-20200110.tar.xz was released. diff --git a/content/news/20200113.org b/content/news/20200113.org new file mode 100644 index 0000000..44f157a --- /dev/null +++ b/content/news/20200113.org @@ -0,0 +1,23 @@ +#+TITLE: Jan 13, 2020 +#+DATE: <2020-01-13 Mon> + +**Busybox update reqires manual intervention** + +The new busybox package conflicts with the pre-update busybox-init. That's why +you should rebuild and install `busybox-init` before doing the update. + +#+BEGIN_SRC sh +# Do a kiss update first (but don't actually update it yet), or manually pull +# the git repository +kiss u # Cancel this operation after it asks for you to confirm the update + +# Install the busybox-init package +kiss b busybox-init && kiss i busybox-init + +# Continue your update as you normally would. +kiss u + +#+END_SRC + +I have moved runit and logging utilities from the busybox-init package to the busybox +package, which is the cause of these conflicts. diff --git a/content/news/20200115.org b/content/news/20200115.org new file mode 100644 index 0000000..9d3bcc3 --- /dev/null +++ b/content/news/20200115.org @@ -0,0 +1,4 @@ +#+TITLE: Jan 15, 2020 +#+DATE: <2020-01-15 Wed> + +sinit has been taken to =core=, and is now officially supported diff --git a/content/news/20200122.org b/content/news/20200122.org new file mode 100644 index 0000000..009405e --- /dev/null +++ b/content/news/20200122.org @@ -0,0 +1,5 @@ +#+TITLE: Jan 22, 2020 +#+DATE: <2020-01-22 Wed> + +Expect downtime on Jan 24 2020 22:00 UTC as I will be migrating this web server +to my Carbs Linux server! diff --git a/content/news/20200128.org b/content/news/20200128.org new file mode 100644 index 0000000..c13e72e --- /dev/null +++ b/content/news/20200128.org @@ -0,0 +1,10 @@ +#+TITLE: Jan 28, 2020 +#+DATE: <2020-01-28 Tue> + +Web Server is now on a Carbs Linux server. It is not complete yet, but I will be +adding a little more for the intended functionality. Downtimes can be expected. + +UPDATE: ssl is now working. + +UPDATE2: downloads are back again. + diff --git a/content/news/20200213.org b/content/news/20200213.org new file mode 100644 index 0000000..65a2ab1 --- /dev/null +++ b/content/news/20200213.org @@ -0,0 +1,6 @@ +#+TITLE: Feb 13, 2020 +#+DATE: <2020-02-13 Thu> + +Runit is now released on the core repository! You can now replace busybox-init +with runit-init. You can also replace the busybox runit utilities with the +actual runit. This will reduce the dependency on busybox greatly. diff --git a/content/news/20200214.org b/content/news/20200214.org new file mode 100644 index 0000000..90b805d --- /dev/null +++ b/content/news/20200214.org @@ -0,0 +1,50 @@ +#+TITLE: Feb 14, 2020 +#+DATE: <2020-02-14 Fri> + +**IMPORTANT!** Carbs-init update to be released on 17th of February +will require manual intervention. I am holding this update back so +people can see it before they update their system (even though the +update will show the same message as this). The rationale for the +update is explained below the intervention. + +#+BEGIN_SRC sh +# There is an explanation for each init You only need to follow the instructions +# for your own init-system + +## busybox-init +# If you did not edit your inittab simply move inittab.new to inittab +mv /etc/inittab.new /etc/inittab + +# If you did edit your inittab you can use a simple sed command to remove the +# necessary lines +sed -i '/getty/d;/runsvdir/d' /etc/inittab + + +## runit +# same as busybox-init, if you did not edit /etc/runit/2 move 2.new to 2 +mv /etc/runit/2.new /etc/runit/2 + +# else +vim /etc/runit/2 +# open your 2 file and remove the for loop containing getty commands. If you are +# using runit, it is recommended to comment out /etc/init/runit.boot + +## sinit/minit +# If you did not edit your {sinit-,}launch-services.boot you can simply remove +# it. +rm -f /etc/init/launch-services.boot /etc/init/sinit-launch-services.boot + +# This should leave you without any issues, and you can safely reboot. +#+END_SRC + +Carbs-init update is to make sure init systems do not clash, and do +not have to use different files. This is a sensible update both for +the user user and for the maintainer side. + +To give an example, before this update busybox-init was managing getty +through =inittab=, runit was managing through =/etc/runit/2=, and +minit/sinit were launching from =/etc/init/launch-services.boot=. This +is a configuration nightmare for everyone, and since I am maintaining +and constantly testing those init providers, a huge nightmare for me. +This is a Quality of Life update. + diff --git a/content/news/20200218.org b/content/news/20200218.org new file mode 100644 index 0000000..5ea71af --- /dev/null +++ b/content/news/20200218.org @@ -0,0 +1,10 @@ +#+TITLE: Feb 18, 2020 +#+DATE: <2020-02-18 Tue> + +A new tarball is released. It can be found on [[https://dl.carbslinux.org]]. + +**edit:** I have removed the tarball because of a bootstrapping issue. I will be +re-adding it later today. + +**edit 2:** I have added a tarball (20200219) to reflect my recent changes on +Busybox. diff --git a/content/news/20200405.org b/content/news/20200405.org new file mode 100644 index 0000000..716f669 --- /dev/null +++ b/content/news/20200405.org @@ -0,0 +1,14 @@ +#+TITLE: Apr 05, 2020 +#+DATE: <2020-04-05 Sun> + +Carbs Linux repositories will be hosted only on Github. Commits will be pushed +there, and not the repository. You have until May 4, 2020 Monday to switch your +remotes to [[https://github.com/CarbsLinux/repository]]. The git repository will +continue to be served until then (without additional commits). + +You can switch your remote by executing the following command on your repository +directory. + +#+BEGIN_SRC sh +git remote set-url origin https://github.com/CarbsLinux/repository +#+END_SRC diff --git a/content/news/20200406.org b/content/news/20200406.org new file mode 100644 index 0000000..e2810d1 --- /dev/null +++ b/content/news/20200406.org @@ -0,0 +1,4 @@ +#+TITLE: Apr 06, 2020 +#+DATE: <2020-04-06 Mon> + +A new rootfs tarball has been released. See the downloads page. diff --git a/content/news/20200410.org b/content/news/20200410.org new file mode 100644 index 0000000..b51657b --- /dev/null +++ b/content/news/20200410.org @@ -0,0 +1,4 @@ +#+TITLE: Apr 10, 2020 +#+DATE: <2020-04-10 Fri> + +IRC channel can now be accessed from =#carbslinux= at freenode! diff --git a/content/news/20200427.org b/content/news/20200427.org new file mode 100644 index 0000000..4df269e --- /dev/null +++ b/content/news/20200427.org @@ -0,0 +1,7 @@ +#+TITLE: Apr 27, 2020 +#+DATE: <2020-04-27 Mon> + +A new rootfs tarball has been released! You can see it on +[[https://dl.carbslinux.org/releases]]! + +**EDIT:** A new bug fix release has been made. diff --git a/content/news/20200510.org b/content/news/20200510.org new file mode 100644 index 0000000..dcdd408 --- /dev/null +++ b/content/news/20200510.org @@ -0,0 +1,7 @@ +#+TITLE: May 10, 2020 +#+DATE: <2020-05-10 Sun> + +A GCC 10.1.0 change causes a kernel panic for kernels built with GCC 10.1. This +issue can be resolved by applying this [[https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/patch/?id=f670269a42bfdd2c83a1118cc3d1b475547eac22][patch]] to your kernel sources. + +**EDIT:** The patch is no longer necessary. diff --git a/content/news/20200519.org b/content/news/20200519.org new file mode 100644 index 0000000..52b555e --- /dev/null +++ b/content/news/20200519.org @@ -0,0 +1,5 @@ +#+TITLE: May 19, 2020 +#+DATE: <2020-05-19 Tue> + +A rootfs tarball targeting the i686 architecture has been released. It can be +found on the downloads page. diff --git a/content/news/20200526.org b/content/news/20200526.org new file mode 100644 index 0000000..2a3658f --- /dev/null +++ b/content/news/20200526.org @@ -0,0 +1,5 @@ +#+TITLE: May 26, 2020 +#+DATE: <2020-05-26 Tue> + +An initial version for binary package management is released. It can be found on +the [[https://github.com/CarbsLinux/kiss-bin][GitHub page]]. diff --git a/content/news/20200617.org b/content/news/20200617.org new file mode 100644 index 0000000..5872e15 --- /dev/null +++ b/content/news/20200617.org @@ -0,0 +1,5 @@ +#+TITLE: Jun 17, 2020 +#+DATE: <2020-06-17 Wed> + +A new rootfs tarball including the changes to the core is released and can be +found on the downloads page. diff --git a/content/news/20200727.org b/content/news/20200727.org new file mode 100644 index 0000000..0309b12 --- /dev/null +++ b/content/news/20200727.org @@ -0,0 +1,7 @@ +#+TITLE: Jul 27, 2020 +#+DATE: <2020-07-27 Mon> + +Carbs Linux's fork of the =kiss= package manager has been renamed to =Carbs +Packaging Tools= due to huge amount of changes. Your latest =kiss= update will +handle the bootstrapping. You will need to rename your =KISS-*= variables to +=CPT-*=. diff --git a/content/news/20200903.org b/content/news/20200903.org new file mode 100644 index 0000000..6cd120b --- /dev/null +++ b/content/news/20200903.org @@ -0,0 +1,6 @@ +#+TITLE: Sep 03, 2020 +#+DATE: <2020-09-03 Thu> + +The default TLS provider has been reverted to =libressl=. System update will +replace bearssl dependencies with libressl. You may choose to keep or remove +bearssl after the update. diff --git a/content/news/20200916.org b/content/news/20200916.org new file mode 100644 index 0000000..cf2dc7d --- /dev/null +++ b/content/news/20200916.org @@ -0,0 +1,6 @@ +#+TITLE: Sep 16, 2020 +#+DATE: <2020-09-16 Wed> + +The libressl "revert" was reverted. System update will replace libressl +dependencies with bearssl. You may choose to keep or remove bearssl after the +update. diff --git a/content/news/20210228.org b/content/news/20210228.org new file mode 100644 index 0000000..b7efc19 --- /dev/null +++ b/content/news/20210228.org @@ -0,0 +1,5 @@ +#+TITLE: Feb 28, 2021 +#+DATE: <2021-02-28 Sun> + +Mailing lists for Carbs Linux has changed, see [[file:../mailing-lists.html][the mailing lists section]] for +more information on subscribing and list information. diff --git a/content/news/20210304.org b/content/news/20210304.org new file mode 100644 index 0000000..f6bc7ca --- /dev/null +++ b/content/news/20210304.org @@ -0,0 +1,6 @@ +#+TITLE: Mar 04, 2021 +#+DATE: <2021-03-04 Thu> + +Our own git server might stay outdated as it is switching to the new server. +Outages should be expected until the end of this week. You can temporarily +switch to the [[srht:~carbslinux][mirrors on Sourcehut]] to avoid repository issues. diff --git a/content/news/20210308.org b/content/news/20210308.org new file mode 100644 index 0000000..7ea693b --- /dev/null +++ b/content/news/20210308.org @@ -0,0 +1,5 @@ +#+TITLE: Mar 08, 2021 +#+DATE: <2021-03-08 Mon> + +Our [[https://git.carbslinux.org][Git repositories]] are back up, and you can switch your remotes back to them, +if that's your preferred method. diff --git a/content/news/20210401.org b/content/news/20210401.org new file mode 100644 index 0000000..0f03923 --- /dev/null +++ b/content/news/20210401.org @@ -0,0 +1,5 @@ +#+TITLE: Apr 01, 2021 +#+DATE: <2021-04-01 Thu> + +After long consideration, Carbs Linux has again switched from BearSSL to +LibreSSL for good. diff --git a/content/news/20210406.org b/content/news/20210406.org new file mode 100644 index 0000000..4235157 --- /dev/null +++ b/content/news/20210406.org @@ -0,0 +1,9 @@ +#+TITLE: Apr 06, 2021 +#+DATE: <2021-04-06 Tue> + +A new rootfs tarball has been released, but the signature verification method +has been switched to [[http://man.openbsd.org/signify][signify(1)]] from GnuPG. The latest public key can be +retrieved from [[https://dl.carbslinux.org/keys]]. Many distributions provide the +signify tool, and Carbs Linux provides it by either the [[carbs-pkg:extra/signify][signify]] or the [[carbs-pkg:core/otools][otools]] +packages. Installation instructions and the user manual will be updated tomorrow +to reflect upon this change. diff --git a/content/news/20210522.org b/content/news/20210522.org new file mode 100644 index 0000000..ed90e1b --- /dev/null +++ b/content/news/20210522.org @@ -0,0 +1,4 @@ +#+TITLE: May 22, 2021 +#+DATE: <2021-05-22 Sat> + +The IRC channel '#carbslinux' has moved to [[https://libera.chat][libera.chat]]. diff --git a/content/people.org b/content/people.org new file mode 100644 index 0000000..4f2fc8f --- /dev/null +++ b/content/people.org @@ -0,0 +1,3 @@ +#+TITLE: People + +- Cem Keylan - Founder [[mailto:cem@carbslinux.org][cem@carbslinux.org]] diff --git a/content/sources.org b/content/sources.org new file mode 100644 index 0000000..bf09ebe --- /dev/null +++ b/content/sources.org @@ -0,0 +1,32 @@ +#+TITLE: Sources and Projects +* Sources and Projects + +All distribution specific tooling and source can be found from either the Fossil +repositories or the relevant Git repositories. I am planning to eventually move +all the source repositories to Fossil, including the package repositories. You +can click the following links to visit source repositories. + +- https://git.carbslinux.org +- https://fossil.carbslinux.org +- https://git.sr.ht/~carbslinux (Git mirror) + +** Package Repositories + +Package repositories currently reside in our git server, they can be obtained +from the places below: + +- https://git.carbslinux.org/repository +- [[https://git.sr.ht/~carbslinux/repository]] (mirror) +- [[https://github.com/CarbsLinux/repository]] (mirror) + +However, it is planned to migrate the package repositories to Fossil at a later +date. + +** Carbs Packaging Tools + +CPT is the package management tools of Carbs Linux. The canonical source for the +package manager is in Fossil, but they are also mirrored to git: + +- https://fossil.carbslinux.org/cpt +- https://git.carbslinux.org/cpt (mirror) +- https://git.sr.ht/~carbslinux/cpt (mirror) diff --git a/cpt b/cpt index e64ca39..8ccb6ca 160000 --- a/cpt +++ b/cpt @@ -1 +1 @@ -Subproject commit e64ca397b4343502d72977fc791b8c968db17598 +Subproject commit 8ccb6ca3acdec76fdb279ed61ba21694e3efe5ab diff --git a/elisp/no-littering.el b/elisp/no-littering.el deleted file mode 100644 index 88fe0e7..0000000 --- a/elisp/no-littering.el +++ /dev/null @@ -1,454 +0,0 @@ -;;; no-littering.el --- help keeping ~/.emacs.d clean -*- lexical-binding: t; -*- - -;; Copyright (C) 2016-2021 Jonas Bernoulli - -;; Author: Jonas Bernoulli -;; Homepage: https://github.com/emacscollective/no-littering -;; Package-Requires: ((cl-lib "0.5")) - -;; This file is not part of GNU Emacs. - -;; This file is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 3, or (at your option) -;; any later version. - -;; This file is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; For a full copy of the GNU General Public License -;; see https://www.gnu.org/licenses. - -;;; Commentary: - -;; Help keeping ~/.emacs.d clean. - -;; The default paths used to store configuration files and persistent -;; data are not consistent across Emacs packages. This isn't just a -;; problem with third-party packages but even with built-in packages. - -;; Some packages put these files directly in `user-emacs-directory' -;; or $HOME or in a subdirectory of either of the two or elsewhere. -;; Furthermore sometimes file names are used that don't provide any -;; insight into what package might have created them. - -;; This package sets out to fix this by changing the values of path -;; variables to put configuration files in `no-littering-etc-directory' -;; (defaulting to "etc/" under `user-emacs-directory', thus usually -;; "~/.emacs.d/etc/") and persistent data files in -;; `no-littering-var-directory' (defaulting to "var/" under -;; `user-emacs-directory', thus usually "~/.emacs.d/var/"), and -;; by using descriptive file names and subdirectories when appropriate. -;; This is similar to a color-theme; a "path-theme" if you will. - -;; We still have a long way to go until most built-in and many third- -;; party path variables are properly "themed". Like a color-theme, -;; this package depends on user contributions to accomplish decent -;; coverage. Pull requests are highly welcome (but please follow the -;; conventions described below and in the pull request template). - -;; `no-littering' cannot help with moving existing files to the new -;; location. You will have to move the files manually. See issue -;; #79 for more information. - -;; Usage: - -;; Load the feature `no-littering' as early as possible in your init -;; file. Make sure you load it at least before you change any path -;; variables using some other method. -;; -;; (require 'no-littering) - -;; If you would like to use base directories different from what -;; `no-littering' uses by default, then you have to set the respective -;; variables before loading the feature. -;; -;; (setq no-littering-etc-directory -;; (expand-file-name "config/" user-emacs-directory)) -;; (setq no-littering-var-directory -;; (expand-file-name "data/" user-emacs-directory)) -;; (require 'no-littering) - -;; Conventions: - -;; * A) File names -;; -;; 1. File names are based on the name of the respective Emacs Lisp -;; variables and the name of the respective Emacs package. -;; -;; 2. The name of the respective Emacs package should serve as the -;; prefix of the file name, unless the file is in a subdirectory in -;; which case the name of the subdirectory serves as the prefix. -;; -;; 3. If the name of the package and the prefix of the variable do not -;; match, then we prefer the name of the package. -;; -;; 4. If the name of a path variable ends with `-file`, `-default-file`, -;; `-directory`, `-default-directory`, or something similar, then that -;; suffix is usually dropped from the file name. -;; -;; 5. If applicable, the appropriate extension is added to the file name -;; so that files are visited using the appropriate major-modes and -;; also to provide a hint about the kind of data stored in the file. -;; E.g. if a file contains an S-expression, then the suffix should be -;; `*.el`. - -;; * B) File location and subdirectories -;; -;; 1. If a package has only one data file, then that is usually placed in -;; `no-littering-var-directory` itself. Likewise if a package has -;; only one config file, then that is placed in -;; `no-littering-etc-directory` itself. -;; -;; 2. If a package has multiple data (or config files), then those files -;; are placed in a subdirectory of `no-littering-var-directory` (or -;; `no-littering-etc-directory`). -;; -;; 3. If a subdirectory is used for a package's data (or config) file -;; variables, then the name of the directory should match the name of -;; the package in most cases. The subdirectory name may serve as the -;; package prefix of the file name. -;; -;; 4. If a package provides a "framework" for other packages to use, -;; then we may reuse its directories for other packages that make use -;; of that framework or otherwise "extend" the "main package". -;; E.g. we place all `helm` related files in `helm/`. -;; -;; 5. If a package only defines a single variable that specifies a data -;; (or config) directory, then the directory name should -;; nevertheless be just the package name. E.g. the path used for -;; `sx-cache-directory` from the `sx` package is `sx/cache/`, not -;; `sx-cache/`. -;; -;; 6. However if the name of the directory variable implies that the -;; package won't ever define any data (or config) files that won't be -;; placed in that directory, then we use a top-level directory. E.g. -;; when the name of the variable is `-directory`, in which -;; case we would use just `/` as the path. - -;; * C) Ordering and alignment -;; -;; 1. The code that sets the values of themed variables is split into two -;; groups. The first group sets the value of variables that belong to -;; packages that are part of Emacs, and the second group is used for -;; variables that are defined by packages that are not part of Emacs. -;; -;; 2. Each of these lists is sorted alphabetically (usually by variable -;; name). Please keep it that way. -;; -;; 3. We attempt to align the value forms inside different `setq` forms. -;; If the symbol part for a particular variable is too long to allow -;; doing so, then don't worry about it and just break the alignment. -;; If it turns out that this happens very often, then we will adjust -;; the alignment eventually. - -;; * D) Commit messages -;; -;; 1. Please theme each package using a separate commit and use commit -;; messages of the form ": theme + + {{- partial "head.html" . -}} + + {{- partial "navbar.html" . -}} +
+ {{- block "main" . }}{{- end }} +
+ {{- partial "footer.html" . -}} + + diff --git a/layouts/_default/baseof.txt b/layouts/_default/baseof.txt new file mode 100644 index 0000000..49d010f --- /dev/null +++ b/layouts/_default/baseof.txt @@ -0,0 +1 @@ +{{- block "main" . }}{{- end }} diff --git a/layouts/_default/rss.xml b/layouts/_default/rss.xml new file mode 100644 index 0000000..e49c966 --- /dev/null +++ b/layouts/_default/rss.xml @@ -0,0 +1,39 @@ +{{- $pctx := . -}} +{{- if .IsHome -}}{{ $pctx = .Site }}{{- end -}} +{{- $pages := slice -}} +{{- if or $.IsHome $.IsSection -}} +{{- $pages = $pctx.RegularPages -}} +{{- else -}} +{{- $pages = $pctx.Pages -}} +{{- end -}} +{{- $limit := .Site.Config.Services.RSS.Limit -}} +{{- if ge $limit 1 -}} +{{- $pages = $pages | first $limit -}} +{{- end -}} +{{- printf "" | safeHTML }} + + + {{ if eq .Title .Site.Title }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{.}} on {{ end }}{{ .Site.Title }}{{ end }} + {{ .Permalink }} + Recent content {{ if ne .Title .Site.Title }}{{ with .Title }}in {{.}} {{ end }}{{ end }}on {{ .Site.Title }} + Hugo -- gohugo.io{{ with .Site.LanguageCode }} + {{.}}{{end}}{{ with .Site.Author.email }} + {{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}{{end}}{{ with .Site.Author.email }} + {{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}{{end}}{{ with .Site.Copyright }} + {{.}}{{end}}{{ if not .Date.IsZero }} + {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}{{ end }} + {{- with .OutputFormats.Get "RSS" -}} + {{ printf "" .Permalink .MediaType | safeHTML }} + {{- end -}} + {{ range $pages }} + + {{ .Title }} + {{ .Permalink }} + {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }} + {{ with .Site.Author.email }}{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}{{end}} + {{ .Permalink }} + {{ .Content | html }} + + {{ end }} + + diff --git a/layouts/_default/single.html b/layouts/_default/single.html new file mode 100644 index 0000000..bfa8dcd --- /dev/null +++ b/layouts/_default/single.html @@ -0,0 +1,3 @@ +{{define "main"}} +{{ .Content }} +{{ end }} diff --git a/layouts/_default/single.txt b/layouts/_default/single.txt new file mode 100644 index 0000000..bfa8dcd --- /dev/null +++ b/layouts/_default/single.txt @@ -0,0 +1,3 @@ +{{define "main"}} +{{ .Content }} +{{ end }} diff --git a/layouts/blog/list.html b/layouts/blog/list.html new file mode 100644 index 0000000..63388b7 --- /dev/null +++ b/layouts/blog/list.html @@ -0,0 +1,8 @@ +{{define "main"}} +{{.Content}} +
    +{{ range .Pages }} +
  • {{.Date.Format "2006-01-02"}} | {{.Title}}
  • +{{ end }} +
+{{ end }} diff --git a/layouts/blog/single.html b/layouts/blog/single.html new file mode 100644 index 0000000..6a9f636 --- /dev/null +++ b/layouts/blog/single.html @@ -0,0 +1,7 @@ +{{define "main"}} +
+

{{.Title}}

+

posted on {{.PublishDate.Format "Jan 02, 2006"}}

+
+{{ .Content }} +{{ end }} diff --git a/layouts/news/list.html b/layouts/news/list.html new file mode 100644 index 0000000..67eb4fb --- /dev/null +++ b/layouts/news/list.html @@ -0,0 +1,7 @@ +{{define "main"}} +

News Index

+{{ range .Pages }} +

{{.Date.Format "Jan 02, 2006"}}

+

{{ .Content }}

+{{ end }} +{{ end }} diff --git a/layouts/news/list.txt b/layouts/news/list.txt new file mode 100644 index 0000000..ab0a732 --- /dev/null +++ b/layouts/news/list.txt @@ -0,0 +1,12 @@ +{{define "main"}} +NEWS INDEX +========== + +{{ range .Pages }} +{{.Date.Format "Jan 02, 2006"}} +------------------------------- + +{{ .RawContent }} + +{{ end }} +{{ end }} diff --git a/layouts/news/single.html b/layouts/news/single.html new file mode 100644 index 0000000..2a2d481 --- /dev/null +++ b/layouts/news/single.html @@ -0,0 +1,6 @@ +{{define "main"}} +
+

{{.PublishDate.Format "Jan 02, 2006"}}

+
+{{ .Content }} +{{ end }} diff --git a/layouts/news/single.txt b/layouts/news/single.txt new file mode 100644 index 0000000..e59d69f --- /dev/null +++ b/layouts/news/single.txt @@ -0,0 +1,6 @@ +{{define "main"}} +{{.PublishDate.Format "Jan 02, 2006"}} +============ + +{{ .RawContent }} +{{ end }} diff --git a/layouts/page/index.html b/layouts/page/index.html new file mode 100644 index 0000000..e7e3bd8 --- /dev/null +++ b/layouts/page/index.html @@ -0,0 +1,16 @@ +{{define "main"}} +{{ .Content }} +

Latest Blog Posts

+
    + {{ range first 3 (where .Site.RegularPages.ByDate.Reverse "Section" "blog") }} +
  • {{.Date.Format "2006-02-01"}} | {{.Title}}
  • + {{ end }} +
+

News

+RSS Feed | +See all news +{{ range first 5 (where .Site.RegularPages.ByDate.Reverse "Section" "news") }} +

{{.Date.Format "Jan 02, 2006"}}

+

{{ .Content }}

+{{ end }} +{{ end }} diff --git a/layouts/page/index.txt b/layouts/page/index.txt new file mode 100644 index 0000000..d2cdac2 --- /dev/null +++ b/layouts/page/index.txt @@ -0,0 +1,3 @@ +{{- define "main" -}} +{{- .RawContent}} +{{- end}} diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html new file mode 100644 index 0000000..e64836f --- /dev/null +++ b/layouts/partials/footer.html @@ -0,0 +1,6 @@ +
+
+

Linux® is a registered trademark of Linus Torvalds

+

Copyright © 2019-2021 Cem Keylan

+
+
diff --git a/layouts/partials/head.html b/layouts/partials/head.html new file mode 100644 index 0000000..f8b9eb2 --- /dev/null +++ b/layouts/partials/head.html @@ -0,0 +1,10 @@ + + + + + + + + +{{.Title}} | Carbs Linux diff --git a/layouts/partials/navbar.html b/layouts/partials/navbar.html new file mode 100644 index 0000000..0999187 --- /dev/null +++ b/layouts/partials/navbar.html @@ -0,0 +1,13 @@ + diff --git a/layouts/shortcodes/pkg.html b/layouts/shortcodes/pkg.html new file mode 100644 index 0000000..0c2eeff --- /dev/null +++ b/layouts/shortcodes/pkg.html @@ -0,0 +1 @@ +{{ or (index .Params 1 ) (index .Params 0 | path.Base)}} diff --git a/layouts/shortcodes/pkg.txt b/layouts/shortcodes/pkg.txt new file mode 100644 index 0000000..148dca4 --- /dev/null +++ b/layouts/shortcodes/pkg.txt @@ -0,0 +1 @@ +{{index .Params 0 | path.Base}} diff --git a/news/20191210.org b/news/20191210.org deleted file mode 100644 index 7e7c0c8..0000000 --- a/news/20191210.org +++ /dev/null @@ -1,4 +0,0 @@ -#+TITLE: {{{date(%b %d\, %Y)}}} -#+DATE: <2019-12-10 Tue> - -First alpha release was made. See the [[https://dl.carbslinux.org/releases][downloads page]]. diff --git a/news/20191212.org b/news/20191212.org deleted file mode 100644 index df21941..0000000 --- a/news/20191212.org +++ /dev/null @@ -1,6 +0,0 @@ -#+TITLE: {{{date(%b %d\, %Y)}}} -#+DATE: <2019-12-12 Thu> - -Busybox and Busybox-init has been seperated into two different packages. -This is for adding standalone runit/runit-init to the repositories. - diff --git a/news/20191217.org b/news/20191217.org deleted file mode 100644 index daa160b..0000000 --- a/news/20191217.org +++ /dev/null @@ -1,5 +0,0 @@ -#+TITLE: {{{date(%b %d\, %Y)}}} -#+DATE: <2019-12-17 Tue> - -Installation instruction are now complete. A review would be greatly appreciated! - diff --git a/news/20191218.org b/news/20191218.org deleted file mode 100644 index 337cfdb..0000000 --- a/news/20191218.org +++ /dev/null @@ -1,4 +0,0 @@ -#+TITLE: {{{date(%b %d\, %Y)}}} -#+DATE: <2019-12-18 Wed> - -carbs-rootfs-20191218.tar.xz was released. diff --git a/news/20200109.org b/news/20200109.org deleted file mode 100644 index bb09f67..0000000 --- a/news/20200109.org +++ /dev/null @@ -1,13 +0,0 @@ -#+TITLE: {{{date(%b %d\, %Y)}}} -#+DATE: <2020-01-09 Thu> - -Happy new year, everyone! I am back after some long silence. I was unable to commit for a -while, but I have pulled some new updates from the KISS repository, added some of my own. -This week I will be changing/adding some things. - -Important things are, - -- Carbs-init was updated to 0.3. -- I will be adding an implementation of suckless.org's [[https://core.suckless.org/sinit][sinit]] as =carbs-sinit= -- Carbs Repository was added to [[https://repology.org/repository/carbs][repology.org]] -- A new rootfs tarball will be coming up tomorrow. diff --git a/news/20200110.org b/news/20200110.org deleted file mode 100644 index 0a83a3e..0000000 --- a/news/20200110.org +++ /dev/null @@ -1,4 +0,0 @@ -#+TITLE: {{{date(%b %d\, %Y)}}} -#+DATE: <2020-01-10 Fri> - -carbs-rootfs-20200110.tar.xz was released. diff --git a/news/20200113.org b/news/20200113.org deleted file mode 100644 index 5fbdf9f..0000000 --- a/news/20200113.org +++ /dev/null @@ -1,23 +0,0 @@ -#+TITLE: {{{date(%b %d\, %Y)}}} -#+DATE: <2020-01-13 Mon> - -**Busybox update reqires manual intervention** - -The new busybox package conflicts with the pre-update busybox-init. That's why -you should rebuild and install `busybox-init` before doing the update. - -#+BEGIN_SRC sh -# Do a kiss update first (but don't actually update it yet), or manually pull -# the git repository -kiss u # Cancel this operation after it asks for you to confirm the update - -# Install the busybox-init package -kiss b busybox-init && kiss i busybox-init - -# Continue your update as you normally would. -kiss u - -#+END_SRC - -I have moved runit and logging utilities from the busybox-init package to the busybox -package, which is the cause of these conflicts. diff --git a/news/20200115.org b/news/20200115.org deleted file mode 100644 index 8da8e13..0000000 --- a/news/20200115.org +++ /dev/null @@ -1,4 +0,0 @@ -#+TITLE: {{{date(%b %d\, %Y)}}} -#+DATE: <2020-01-15 Wed> - -sinit has been taken to =core=, and is now officially supported diff --git a/news/20200122.org b/news/20200122.org deleted file mode 100644 index 9e6b998..0000000 --- a/news/20200122.org +++ /dev/null @@ -1,5 +0,0 @@ -#+TITLE: {{{date(%b %d\, %Y)}}} -#+DATE: <2020-01-22 Wed> - -Expect downtime on Jan 24 2020 22:00 UTC as I will be migrating this web server -to my Carbs Linux server! diff --git a/news/20200128.org b/news/20200128.org deleted file mode 100644 index e917fa3..0000000 --- a/news/20200128.org +++ /dev/null @@ -1,10 +0,0 @@ -#+TITLE: {{{date(%b %d\, %Y)}}} -#+DATE: <2020-01-28 Tue> - -Web Server is now on a Carbs Linux server. It is not complete yet, but I will be -adding a little more for the intended functionality. Downtimes can be expected. - -UPDATE: ssl is now working. - -UPDATE2: downloads are back again. - diff --git a/news/20200213.org b/news/20200213.org deleted file mode 100644 index f37d9eb..0000000 --- a/news/20200213.org +++ /dev/null @@ -1,6 +0,0 @@ -#+TITLE: {{{date(%b %d\, %Y)}}} -#+DATE: <2020-02-13 Thu> - -Runit is now released on the core repository! You can now replace busybox-init -with runit-init. You can also replace the busybox runit utilities with the -actual runit. This will reduce the dependency on busybox greatly. diff --git a/news/20200214.org b/news/20200214.org deleted file mode 100644 index 36b3325..0000000 --- a/news/20200214.org +++ /dev/null @@ -1,50 +0,0 @@ -#+TITLE: {{{date(%b %d\, %Y)}}} -#+DATE: <2020-02-14 Fri> - -**IMPORTANT!** Carbs-init update to be released on 17th of February -will require manual intervention. I am holding this update back so -people can see it before they update their system (even though the -update will show the same message as this). The rationale for the -update is explained below the intervention. - -#+BEGIN_SRC sh -# There is an explanation for each init You only need to follow the instructions -# for your own init-system - -## busybox-init -# If you did not edit your inittab simply move inittab.new to inittab -mv /etc/inittab.new /etc/inittab - -# If you did edit your inittab you can use a simple sed command to remove the -# necessary lines -sed -i '/getty/d;/runsvdir/d' /etc/inittab - - -## runit -# same as busybox-init, if you did not edit /etc/runit/2 move 2.new to 2 -mv /etc/runit/2.new /etc/runit/2 - -# else -vim /etc/runit/2 -# open your 2 file and remove the for loop containing getty commands. If you are -# using runit, it is recommended to comment out /etc/init/runit.boot - -## sinit/minit -# If you did not edit your {sinit-,}launch-services.boot you can simply remove -# it. -rm -f /etc/init/launch-services.boot /etc/init/sinit-launch-services.boot - -# This should leave you without any issues, and you can safely reboot. -#+END_SRC - -Carbs-init update is to make sure init systems do not clash, and do -not have to use different files. This is a sensible update both for -the user user and for the maintainer side. - -To give an example, before this update busybox-init was managing getty -through =inittab=, runit was managing through =/etc/runit/2=, and -minit/sinit were launching from =/etc/init/launch-services.boot=. This -is a configuration nightmare for everyone, and since I am maintaining -and constantly testing those init providers, a huge nightmare for me. -This is a Quality of Life update. - diff --git a/news/20200218.org b/news/20200218.org deleted file mode 100644 index ee56dfd..0000000 --- a/news/20200218.org +++ /dev/null @@ -1,10 +0,0 @@ -#+TITLE: {{{date(%b %d\, %Y)}}} -#+DATE: <2020-02-18 Tue> - -A new tarball is released. It can be found on [[https://dl.carbslinux.org]]. - -**edit:** I have removed the tarball because of a bootstrapping issue. I will be -re-adding it later today. - -**edit 2:** I have added a tarball (20200219) to reflect my recent changes on -Busybox. diff --git a/news/20200405.org b/news/20200405.org deleted file mode 100644 index 375a7ac..0000000 --- a/news/20200405.org +++ /dev/null @@ -1,14 +0,0 @@ -#+TITLE: {{{date(%b %d\, %Y)}}} -#+DATE: <2020-04-05 Sun> - -Carbs Linux repositories will be hosted only on Github. Commits will be pushed -there, and not the repository. You have until May 4, 2020 Monday to switch your -remotes to [[https://github.com/CarbsLinux/repository]]. The git repository will -continue to be served until then (without additional commits). - -You can switch your remote by executing the following command on your repository -directory. - -#+BEGIN_SRC sh -git remote set-url origin https://github.com/CarbsLinux/repository -#+END_SRC diff --git a/news/20200406.org b/news/20200406.org deleted file mode 100644 index 31209ca..0000000 --- a/news/20200406.org +++ /dev/null @@ -1,4 +0,0 @@ -#+TITLE: {{{date(%b %d\, %Y)}}} -#+DATE: <2020-04-06 Mon> - -A new rootfs tarball has been released. See the downloads page. diff --git a/news/20200410.org b/news/20200410.org deleted file mode 100644 index fda05fb..0000000 --- a/news/20200410.org +++ /dev/null @@ -1,4 +0,0 @@ -#+TITLE: {{{date(%b %d\, %Y)}}} -#+DATE: <2020-04-10 Fri> - -IRC channel can now be accessed from =#carbslinux= at freenode! diff --git a/news/20200427.org b/news/20200427.org deleted file mode 100644 index 867f83c..0000000 --- a/news/20200427.org +++ /dev/null @@ -1,7 +0,0 @@ -#+TITLE: {{{date(%b %d\, %Y)}}} -#+DATE: <2020-04-27 Mon> - -A new rootfs tarball has been released! You can see it on -[[https://dl.carbslinux.org/releases]]! - -**EDIT:** A new bug fix release has been made. diff --git a/news/20200510.org b/news/20200510.org deleted file mode 100644 index c7b7d32..0000000 --- a/news/20200510.org +++ /dev/null @@ -1,7 +0,0 @@ -#+TITLE: {{{date(%b %d\, %Y)}}} -#+DATE: <2020-05-10 Sun> - -A GCC 10.1.0 change causes a kernel panic for kernels built with GCC 10.1. This -issue can be resolved by applying this [[https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/patch/?id=f670269a42bfdd2c83a1118cc3d1b475547eac22][patch]] to your kernel sources. - -**EDIT:** The patch is no longer necessary. diff --git a/news/20200519.org b/news/20200519.org deleted file mode 100644 index 0583f19..0000000 --- a/news/20200519.org +++ /dev/null @@ -1,5 +0,0 @@ -#+TITLE: {{{date(%b %d\, %Y)}}} -#+DATE: <2020-05-19 Tue> - -A rootfs tarball targeting the i686 architecture has been released. It can be -found on the downloads page. diff --git a/news/20200526.org b/news/20200526.org deleted file mode 100644 index 70c4fec..0000000 --- a/news/20200526.org +++ /dev/null @@ -1,5 +0,0 @@ -#+TITLE: {{{date(%b %d\, %Y)}}} -#+DATE: <2020-05-26 Tue> - -An initial version for binary package management is released. It can be found on -the [[https://github.com/CarbsLinux/kiss-bin][GitHub page]]. diff --git a/news/20200617.org b/news/20200617.org deleted file mode 100644 index 0aee0df..0000000 --- a/news/20200617.org +++ /dev/null @@ -1,5 +0,0 @@ -#+TITLE: {{{date(%b %d\, %Y)}}} -#+DATE: <2020-06-17 Wed> - -A new rootfs tarball including the changes to the core is released and can be -found on the downloads page. diff --git a/news/20200727.org b/news/20200727.org deleted file mode 100644 index 0afe0b3..0000000 --- a/news/20200727.org +++ /dev/null @@ -1,7 +0,0 @@ -#+TITLE: {{{date(%b %d\, %Y)}}} -#+DATE: <2020-07-27 Mon> - -Carbs Linux's fork of the =kiss= package manager has been renamed to =Carbs -Packaging Tools= due to huge amount of changes. Your latest =kiss= update will -handle the bootstrapping. You will need to rename your =KISS-*= variables to -=CPT-*=. diff --git a/news/20200903.org b/news/20200903.org deleted file mode 100644 index 4c1941d..0000000 --- a/news/20200903.org +++ /dev/null @@ -1,6 +0,0 @@ -#+TITLE: {{{date(%b %d\, %Y)}}} -#+DATE: <2020-09-03 Thu> - -The default TLS provider has been reverted to =libressl=. System update will -replace bearssl dependencies with libressl. You may choose to keep or remove -bearssl after the update. diff --git a/news/20200916.org b/news/20200916.org deleted file mode 100644 index 50e9ecb..0000000 --- a/news/20200916.org +++ /dev/null @@ -1,6 +0,0 @@ -#+TITLE: {{{date(%b %d\, %Y)}}} -#+DATE: <2020-09-16 Wed> - -The libressl "revert" was reverted. System update will replace libressl -dependencies with bearssl. You may choose to keep or remove bearssl after the -update. diff --git a/news/20210228.org b/news/20210228.org deleted file mode 100644 index 3cd89ec..0000000 --- a/news/20210228.org +++ /dev/null @@ -1,5 +0,0 @@ -#+TITLE: {{{date(%b %d\, %Y)}}} -#+DATE: <2021-02-28 Sun> - -Mailing lists for Carbs Linux has changed, see [[file:../mailing-lists.html][the mailing lists section]] for -more information on subscribing and list information. diff --git a/news/20210304.org b/news/20210304.org deleted file mode 100644 index f2a576d..0000000 --- a/news/20210304.org +++ /dev/null @@ -1,6 +0,0 @@ -#+TITLE: {{{date(%b %d\, %Y)}}} -#+DATE: <2021-03-04 Thu> - -Our own git server might stay outdated as it is switching to the new server. -Outages should be expected until the end of this week. You can temporarily -switch to the [[srht:~carbslinux][mirrors on Sourcehut]] to avoid repository issues. diff --git a/news/20210308.org b/news/20210308.org deleted file mode 100644 index 215d3a5..0000000 --- a/news/20210308.org +++ /dev/null @@ -1,5 +0,0 @@ -#+TITLE: {{{date(%b %d\, %Y)}}} -#+DATE: <2021-03-08 Mon> - -Our [[https://git.carbslinux.org][Git repositories]] are back up, and you can switch your remotes back to them, -if that's your preferred method. diff --git a/news/20210401.org b/news/20210401.org deleted file mode 100644 index ac2d24d..0000000 --- a/news/20210401.org +++ /dev/null @@ -1,5 +0,0 @@ -#+TITLE: {{{date(%b %d\, %Y)}}} -#+DATE: <2021-04-01 Thu> - -After long consideration, Carbs Linux has again switched from BearSSL to -LibreSSL for good. diff --git a/news/20210406.org b/news/20210406.org deleted file mode 100644 index 15894ca..0000000 --- a/news/20210406.org +++ /dev/null @@ -1,9 +0,0 @@ -#+TITLE: {{{date(%b %d\, %Y)}}} -#+DATE: <2021-04-06 Tue> - -A new rootfs tarball has been released, but the signature verification method -has been switched to [[http://man.openbsd.org/signify][signify(1)]] from GnuPG. The latest public key can be -retrieved from [[https://dl.carbslinux.org/keys]]. Many distributions provide the -signify tool, and Carbs Linux provides it by either the [[carbs-pkg:extra/signify][signify]] or the [[carbs-pkg:core/otools][otools]] -packages. Installation instructions and the user manual will be updated tomorrow -to reflect upon this change. diff --git a/news/20210522.org b/news/20210522.org deleted file mode 100644 index af969c4..0000000 --- a/news/20210522.org +++ /dev/null @@ -1,4 +0,0 @@ -#+TITLE: {{{date(%b %d\, %Y)}}} -#+DATE: <2021-05-22 Sat> - -The IRC channel '#carbslinux' has moved to [[https://libera.chat][libera.chat]]. diff --git a/org-publish.el b/org-publish.el deleted file mode 100755 index ee0a618..0000000 --- a/org-publish.el +++ /dev/null @@ -1,358 +0,0 @@ -#!/usr/bin/emacs --script -;; Lots of code were taken from: -;; - https://gitlab.com/to1ne/blog/-/blob/master/elisp/publish.el -;; - https://github.com/dmacvicar/site.org/blob/master/publish.el - -;; I don't want this script, especially package, to mess my Emacs directory. -(setq user-emacs-directory (expand-file-name ".cache/" default-directory)) -(load-file (expand-file-name "elisp/no-littering.el" default-directory)) - -(setq package-user-dir (with-no-warnings (no-littering-expand-var-file-name "package/"))) -(require 'package) -(package-initialize) - -(unless package-archive-contents - (add-to-list 'package-archives '("org" . "https://orgmode.org/elpa/") t) - (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t) - (package-refresh-contents)) - -(dolist (pkg '(org-plus-contrib htmlize)) - (unless (package-installed-p pkg) - (package-install pkg))) - -(require 'cl-lib) -(require 'sh-script) -(require 'ox) -(require 'ox-publish) -(require 'ox-rss) - -;; Taken from doom-emacs -(defmacro c/pushnew! (place &rest values) - "Push VALUES sequentially into PLACE, if they aren't already present. -This is a variadic `cl-pushnew'." - (let ((var (make-symbol "result"))) - `(dolist (,var (list ,@values) (with-no-warnings ,place)) - (cl-pushnew ,var ,place :test #'equal)))) - - -;; Some Quality of Life link abbrevations. -(c/pushnew! org-link-abbrev-alist - '("carbs-pkg" . "https://git.sr.ht/~carbslinux/repository/tree/master/item/%s") - '("srht" . "https://git.sr.ht/%s") - '("ml" . "https://lists.sr.ht/~carbslinux/%s") - '("mlto" . "mailto:~carbslinux/%s@lists.sr.ht") - '("github" . "https://github.com/%s")) - -(defvar carbs--src-directory (expand-file-name "src/" default-directory) - "Directory for most of the static webpage content.") - -(defvar carbs--publish-directory (expand-file-name "docs/" default-directory) - "Root directory of the published website.") - -(defvar carbs--news-directory (expand-file-name "news/" default-directory) - "Directory for news posts.") - -(defvar carbs--blog-directory (expand-file-name "blog/" default-directory) - "Directory for blog posts.") - -(defvar carbs--template-directory (expand-file-name "templates/" default-directory) - "Directory for all types of templates") - -(defun carbs--insert-template (file) - "Insert FILE from `carbs--template-directory'." - (with-temp-buffer - (insert-file-contents (expand-file-name file carbs--template-directory)) - (buffer-string))) - -(defun carbs/org-html-publish-to-html (plist filename pub-dir) - "Wrapper function that adds publishing date as a subtitle. - -PLIST contains the properties, FILENAME the source file and - PUB-DIR the output directory." - (let ((project (cons 'rw plist))) - (plist-put plist :subtitle - (carbs/format-date-subtitle filename project)) - (org-html-publish-to-html plist filename pub-dir))) - -(defun carbs/org-html-publish-blog-index (plist filename pub-dir) - "Wrapper function to publish only the index file to html. -PLIST contains the properties, FILENAME the source file and PUB-DIR the output -directory." - (if (equal "index.org" (file-name-nondirectory filename)) - (org-html-publish-to-html plist filename pub-dir))) - -(defun carbs/format-rss-feed-entry (entry style project) - "Format ENTRY for the RSS feed. -ENTRY is a file name. STYLE is either 'list' or 'tree'. -PROJECT is the current project." - (cond ((not (directory-name-p entry)) - (let* ((file (org-publish--expand-file-name entry project)) - (title (org-publish-find-title entry project)) - (date (format-time-string "%Y-%m-%d" (org-publish-find-date entry project))) - (link (concat (file-name-sans-extension entry) ".html"))) - (with-temp-buffer - (insert (format "* %s\n" title)) - (org-set-property "RSS_PERMALINK" link) - (org-set-property "PUBDATE" date) - (insert-file-contents file) - (buffer-string)))) - ((eq style 'tree) - ;; Return only last subdir. - (file-name-nondirectory (directory-file-name entry))) - (t entry))) - -(defun carbs/format-rss-feed (title list) - "Generate RSS feed, as a string. -TITLE is the title of the RSS feed. LIST is an internal -representation for the files to include, as returned by -`org-list-to-lisp'. PROJECT is the current project." - (concat "#+TITLE: " title "\n" - "#+DESCRIPTION: a simple Linux distribution\n\n" - (org-list-to-subtree list 1 '(:icount "" :istart "")))) - -(defun carbs/org-rss-publish-to-rss (plist filename pub-dir) - "Publish RSS with PLIST, only when FILENAME is 'rss.org'. -PUB-DIR is when the output will be placed." - (org-rss-publish-to-rss plist filename pub-dir)) - -(defun carbs/format-date-subtitle (file project) - "Format the date found in FILE of PROJECT." - (format-time-string "posted on %b %d, %Y" (org-publish-find-date file project))) - -(defun carbs--pre/postamble-format (type) - "Return the content for the pre/postamble of TYPE." - `(("en" ,(carbs--insert-template (format "%s.html" type))))) - -(defun carbs/org-publish-sitemap (title list) - "Generate sitemap as a string, having TITLE. -LIST is an internal representation for the files to include, as -returned by `org-list-to-lisp'." - (let ((filtered-list (cl-remove-if (lambda (x) - (and (sequencep x) (null (car x)))) - list))) - (concat (carbs--insert-template "blog.org") - (org-list-to-org filtered-list) "\n"))) - -(defun carbs/org-publish-latest-blog (title list) - "Generate sitemap as a string, having TITLE. -LIST is an internal representation for the files to include, as returned by -`org-list-to-lisp'." - (let* ((filtered-list (cl-remove-if (lambda (x) - (and (sequencep x) (null (car x)))) - list)) - (latest-posts (seq-subseq filtered-list 0 (min (length filtered-list) 4)))) - (concat (org-list-to-org latest-posts) "\n"))) - -(defun carbs/org-publish-latest-blog-entry (entry style project) - "Format for sitemap ENTRY, as a string. -ENTRY is a file name. STYLE is the style of the sitemap. -PROJECT is the current project." - (unless (equal entry "404.org") - (format "%s - [[file:%s][%s]]" - (format-time-string "%b %d, %Y" (org-publish-find-date entry project)) - entry - (org-publish-find-title entry project)))) - -(defun carbs/org-publish-sitemap-entry (entry style project) - "Format for sitemap ENTRY, as a string. -ENTRY is a file name. STYLE is the style of the sitemap. -PROJECT is the current project." - (unless (equal entry "404.org") - (format "[[file:%s][%s]] /%s/" - entry - (org-publish-find-title entry project) - (carbs/format-date-subtitle entry project)))) - -(defun carbs/org-publish-news (title list) - "Generate sitemap as a string, having TITLE. -LIST is an internal representation for the files to include, as -returned by `org-list-to-lisp'." - (let ((filtered-list (cl-remove-if (lambda (x) - (and (sequencep x) (null (car x)))) - list))) - (concat "#+TITLE: News Index\n\n" - (org-list-to-subtree filtered-list 1 '(:istart "" :icount "")) "\n"))) - -(defun carbs/org-publish-news-latest (title list) - "Generate sitemap as a string, having TITLE. -LIST is an internal representation for the files to include, as -returned by `org-list-to-lisp'." - (let* ((filtered-list (cl-remove-if (lambda (x) - (and (sequencep x) (null (car x)))) - list)) - (latest-posts (seq-subseq filtered-list 0 (min (length filtered-list) 6)))) - (concat - (org-list-to-subtree latest-posts 1 '(:istart "" :icount "")) "\n"))) - -(defun carbs/org-publish-news-entry (entry style project) - "Format for sitemap ENTRY, as a string. -ENTRY is a file name. STYLE is the style of the sitemap. -PROJECT is the current project." - (cond ((not (directory-name-p entry)) - (let* ((file (org-publish--expand-file-name entry project)) - (date (format-time-string "%b %d, %Y" (org-publish-find-date entry project))) - (link (concat (file-name-sans-extension entry) ".html"))) - (with-temp-buffer - (insert (format "* [[file:%s][%s]]\n" link date)) - (insert-file-contents file) - (buffer-string)))) - ((eq style 'tree) - ;; Return only last subdir. - (file-name-nondirectory (directory-file-name entry))) - (t entry))) - -(setq user-full-name "Cem Keylan" - user-mail-address "root@carbslinux.org" - org-publish-timestamp-directory (with-no-warnings (no-littering-expand-var-file-name "timestamps/")) - org-html-doctype "html5" - org-html-head (concat "\n" - "") - org-html-head-include-scripts nil - org-html-metadata-timestamp-format "%Y-%m-%d" - org-html-head-include-default-style nil - org-html-html5-fancy t - org-html-htmlize-output-type 'css - org-export-with-toc nil - org-export-with-section-numbers nil - - org-publish-project-alist - (list - (list "news" - :author "" - :base-directory carbs--news-directory - :html-preamble t - :html-postamble t - :html-preamble-format (carbs--pre/postamble-format 'preamble) - :html-postamble-format (carbs--pre/postamble-format 'postamble) - :publishing-directory (expand-file-name "news/" carbs--publish-directory) - :publishing-function '(org-html-publish-to-html org-ascii-publish-to-ascii) - :exclude (regexp-opt '("index.org" "news.org" "latest-news.org")) - :auto-sitemap t - :sitemap-filename "index.org" - :sitemap-style 'list - :sitemap-title "Carbs Linux news" - :sitemap-sort-files 'anti-chronologically - :sitemap-function 'carbs/org-publish-news - :sitemap-format-entry 'carbs/org-publish-news-entry) - (list "news-rss-generate" - :base-directory carbs--news-directory - :publishing-directory carbs--publish-directory - :publishing-function 'ignore - :exclude (regexp-opt '("index.org" "news.org" "latest-news.org")) - :html-link-home "https://carbslinux.org/news" - :auto-sitemap t - :sitemap-filename "news.org" - :sitemap-style 'list - :sitemap-title "Carbs Linux news" - :sitemap-sort-files 'anti-chronologically - :sitemap-function 'carbs/format-rss-feed - :sitemap-format-entry 'carbs/format-rss-feed-entry) - (list "latest-news" - :base-directory carbs--news-directory - :publishing-directory carbs--publish-directory - :publishing-function 'ignore - :exclude (regexp-opt '("index.org" "news.org" "latest-news.org")) - :auto-sitemap t - :sitemap-filename "latest-news.org" - :sitemap-style 'list - :sitemap-title "Carbs Linux news" - :sitemap-sort-files 'anti-chronologically - :sitemap-function 'carbs/org-publish-news-latest - :sitemap-format-entry 'carbs/org-publish-news-entry) - (list "news-rss-publish" - :base-directory carbs--news-directory - :exclude "." - :include '("news.org") - :rss-extension "xml" - :recursive t - :html-link-home "https://carbslinux.org/news" - :publishing-directory carbs--publish-directory - :publishing-function 'carbs/org-rss-publish-to-rss) - (list "blog-latest" - :base-directory carbs--blog-directory - :publishing-directory carbs--publish-directory - :publishing-function 'ignore - :exclude (regexp-opt '("index.org" "rss.org" "latest-blog.org")) - :auto-sitemap t - :sitemap-filename "latest-blog.org" - :sitemap-style 'list - :sitemap-sort-files 'anti-chronologically - :sitemap-function 'carbs/org-publish-latest-blog - :sitemap-format-entry 'carbs/org-publish-latest-blog-entry) - (list "home" - :base-directory carbs--src-directory - :html-preamble t - :html-postamble t - :html-preamble-format (carbs--pre/postamble-format 'preamble) - :html-postamble-format (carbs--pre/postamble-format 'postamble) - :publishing-directory carbs--publish-directory - :publishing-function 'org-html-publish-to-html) - (list "blog-index-publish" - :base-directory carbs--blog-directory - :publishing-directory (expand-file-name "blog/" carbs--publish-directory) - :publishing-function 'carbs/org-html-publish-blog-index - :html-preamble t - :html-postamble t - :html-preamble-format (carbs--pre/postamble-format 'preamble) - :html-postamble-format (carbs--pre/postamble-format 'postamble) - :html-link-org-files-as-html t - :exclude (regexp-opt '("rss.org" "index.org" "latest-blog.org")) - :auto-sitemap t - :sitemap-filename "index.org" - :sitemap-style 'list - :sitemap-title "Carbs Linux blog" - :sitemap-sort-files 'anti-chronologically - :sitemap-function 'carbs/org-publish-sitemap - :sitemap-format-entry 'carbs/org-publish-sitemap-entry) - (list "blog" - :base-directory carbs--blog-directory - :publishing-directory (expand-file-name "blog/" carbs--publish-directory) - :publishing-function 'carbs/org-html-publish-to-html - :html-preamble t - :html-postamble t - :html-preamble-format (carbs--pre/postamble-format 'preamble) - :html-postamble-format (carbs--pre/postamble-format 'postamble) - :exclude (regexp-opt '("rss.org" "index.org" "latest-blog.org")) - :html-link-org-files-as-html t) - (list "blog-generate-rss-sitemap" - :base-extension "org" - :base-directory carbs--blog-directory - :html-link-home "https://carbslinux.org/blog" - :exclude (regexp-opt '("rss.org" "index.org" "latest-blog.org")) - :publishing-function 'ignore - :publishing-directory (expand-file-name "blog/" carbs--publish-directory) - :rss-extension "xml" - :auto-sitemap t - :html-link-org-files-as-html t - :sitemap-filename "rss.org" - :sitemap-title "Carbs Linux blog" - :sitemap-style 'list - :sitemap-sort-files 'anti-chronologically - :sitemap-function 'carbs/format-rss-feed - :sitemap-format-entry 'carbs/format-rss-feed-entry) - (list "blog-publish-rss-sitemap" - :base-directory carbs--blog-directory - :rss-extension "xml" - :recursive t - :exclude "." - :include '("rss.org") - :publishing-directory carbs--publish-directory - :publishing-function 'carbs/org-rss-publish-to-rss - :html-link-home "https://carbslinux.org/blog" - :html-link-use-abs-url t) - (list "plaintext" - :author "" - :base-directory carbs--src-directory - :publishing-directory carbs--publish-directory - :publishing-function 'org-ascii-publish-to-ascii - :base-extension "org" - :exclude (regexp-opt '("rss.org" "latest-blog.org")) - :recursive t) - (list "blog-txt" - :base-directory carbs--blog-directory - :base-extension "org" - :exclude (regexp-opt '("rss.org" "latest-blog.org")) - :publishing-directory (expand-file-name "blog/" carbs--publish-directory) - :publishing-function 'org-ascii-publish-to-ascii))) - -(org-publish-all) diff --git a/src/docs.org b/src/docs.org deleted file mode 100644 index c8d0380..0000000 --- a/src/docs.org +++ /dev/null @@ -1,118 +0,0 @@ -#+TITLE: Documentation - -Below are sources of documentation regarding Carbs Linux and tools surrounding -it. - -#+TOC: headlines 1 - -* User Manual -:PROPERTIES: -:CUSTOM_ID: user-manual -:END: - -Carbs Linux User Manual aims to be a general-purpose explanation of the -distribution, from the installation steps to the style guide of the project. It -can be accessed or otherwise obtained with various methods: - -** HTML -:PROPERTIES: -:CUSTOM_ID: html -:END: - -You can view the Manual from your browser. The Manual can be viewed as - -- [[file:docs/carbslinux][One HTML page per node]] -- [[file:docs/carbslinux.html][Single HTML page]] - -** Plain text -:PROPERTIES: -:CUSTOM_ID: plain-text -:END: - -You can download [[file:docs/carbslinux.txt][carbslinux.txt]] in order to view the Manual from your preferred -pager. - -#+begin_src sh -curl -LO https://carbslinux.org/docs/carbslinux.txt -less carbslinux.txt -#+end_src - -** Info -:PROPERTIES: -:CUSTOM_ID: info -:ORDERED: t -:END: - -You can install the =carbs-docs= package and either =texinfo= or =info= packages -to view the Manual offline. - -#+begin_src sh -cpt bi info carbs-docs -info carbslinux -#+end_src - -** Source -:PROPERTIES: -:CUSTOM_ID: source -:END: - -You can also acquire the source for generating the Manual, which requires -=emacs= for exporting the Org-mode documentation and =texinfo= for generating -html/info pages. - -#+begin_src sh -git clone git://git.carbslinux.org/docs -#+end_src - -* Installation Instructions -:PROPERTIES: -:CUSTOM_ID: installation-instructions -:END: - -Installation Manual is part of the [[*User Manual][User Manual]], but it can also be obtained -separately: - -- [[file:install.org][HTML]] -- [[file:install.txt][Plaintext]] - -* Carbs Packaging Tools -:PROPERTIES: -:CUSTOM_ID: carbs-packaging-tools -:END: - -CPT User Manual has the implementation details of the package manager utilities. -It can be accessed or otherwise obtained with various methods: - -** HTML -:PROPERTIES: -:CUSTOM_ID: cpt-html -:END: - -You can view the Manual from your browser. The Manual can be viewed as - -- [[file:docs/cpt][One HTML page per node]] -- [[file:docs/cpt.html][Single HTML page]] - -** Plain text -:PROPERTIES: -:CUSTOM_ID: cpt-plain-text -:END: - -You can download [[file:docs/cpt.txt][cpt.txt]] in order to view the Manual from your preferred pager. - -#+begin_src sh -curl -LO https://carbslinux.org/docs/cpt.txt -less cpt.txt -#+end_src - -** Info -:PROPERTIES: -:CUSTOM_ID: cpt-info -:END: - -Info page for CPT is included in the tarball, which can be read offline by -installing either =texinfo= or =info= packages. - -#+begin_src sh -info cpt -#+end_src diff --git a/src/download.org b/src/download.org deleted file mode 100644 index 1267418..0000000 --- a/src/download.org +++ /dev/null @@ -1,20 +0,0 @@ -#+TITLE: Download Carbs Linux - -Below are the latest tarballs for the =x86_64= and =i686= architectures. You can -visit [[https://dl.carbslinux.org/releases]] for all downloads. Follow the -[[file:install.org][Installation guide]] to learn more about verifying the releases, and the required -steps for installing the system. - -* x86-64 -:PROPERTIES: -:CUSTOM_ID: x86-64 -:END: - -[[https://dl.carbslinux.org/releases/x86_64/carbs-rootfs.tar.xz][carbs-rootfs.tar.xz]] | [[https://dl.carbslinux.org/releases/x86_64/carbs-rootfs.tar.xz.sha256][SHA256SUM]] | [[https://dl.carbslinux.org/releases/x86_64/carbs-rootfs.tar.xz.sig][Signature]] - -* i686 -:PROPERTIES: -:CUSTOM_ID: i686 -:END: - -[[https://dl.carbslinux.org/releases/i686/carbs-rootfs.tar.xz][carbs-rootfs.tar.xz]] | [[https://dl.carbslinux.org/releases/i686/carbs-rootfs.tar.xz.sha256][SHA256SUM]] | [[https://dl.carbslinux.org/releases/i686/carbs-rootfs.tar.xz.sig][Signature]] diff --git a/src/index.org b/src/index.org deleted file mode 100644 index 9a01476..0000000 --- a/src/index.org +++ /dev/null @@ -1,77 +0,0 @@ -#+TITLE: Carbs Linux -#+DESCRIPTION: a simple Linux distribution -#+OPTIONS: title:nil - -Carbs Linux is a source-based Linux\reg distribution that aims to be simple, -flexible and extensible while staying as pragmatic and practical as possible. -The system can consist of as much or as little as its user can intend to. - -* Package Manager -:PROPERTIES: -:CUSTOM_ID: package-manager -:END: - -Carbs Linux uses its own package manager [[https://fossil.carbslinux.org/cpt][Carbs Packaging Tools]], a POSIX shell -package manager forked from [[https://github.com/kisslinux/kiss][KISS]] with the tool-based approach of [[https://github.com/void-linux/xbps][xbps]]. Its aim -is to deliver easy-to-use tools while also providing a powerful POSIX shell -library that can be used to further extend and script the packaging system. - - -* Small base -:PROPERTIES: -:CUSTOM_ID: small-base -:END: - -By default, Carbs Linux comes with busybox for coreutils, libressl for its -crypto library, musl libc, and other basic utilities that are required for -building new software. The majority of the base packages are statically linked. - - -* Multiple Init Support -:PROPERTIES: -:CUSTOM_ID: multiple-init-support -:END: - -Carbs Linux has support for multiple init systems and service supervisors. In -the main repository are - -- [[carbs-pkg:core/sinit][sinit]] / [[carbs-pkg:extra/shinit][shinit]] -- [[carbs-pkg:core/busybox][busybox-init]] (SysVinit clone) -- [[carbs-pkg:core/runit][runit-init]] - -for init systems, and - -- [[carbs-pkg:core/sysmgr][sysmgr]] -- [[carbs-pkg:core/busybox][busybox-runit]] -- [[carbs-pkg:core/runit][runit]] - -for service supervisors. The [[carbs-pkg:core/carbs-init][carbs-init]] package is the collection of init -scripts that ensure the interoperability of these init and service systems, and -make it easier for the user to switch to their preferred combinations of system -supervision. - -Nothing holds you back, however, from ditching any of these and packaging some -other system supervision technique along with your own init scripts. - - -* Links -:PROPERTIES: -:CUSTOM_ID: links -:END: - -- IRC - =#carbslinux= on libera.chat -- Reddit - [[https://reddit.com/r/carbslinux][r/carbslinux]] -- [[file:mailing-lists.org][Mailing Lists]] - -* Latest Blog Posts - -#+INCLUDE: ../blog/latest-blog.org :minlevel 1 - -* News -:PROPERTIES: -:CUSTOM_ID: news -:END: - -[[file:./news.xml][RSS Feed]] | [[file:./news][See all news]] - -#+INCLUDE: ../news/latest-news.org :minlevel 2 diff --git a/src/install.org b/src/install.org deleted file mode 100644 index 410a02b..0000000 --- a/src/install.org +++ /dev/null @@ -1,4 +0,0 @@ -#+TITLE: Installation Guide -#+OPTIONS: num:t - -#+INCLUDE: "../texidocs/carbslinux.org::*Installation" :only-contents t diff --git a/src/mailing-lists.org b/src/mailing-lists.org deleted file mode 100644 index c33848e..0000000 --- a/src/mailing-lists.org +++ /dev/null @@ -1,24 +0,0 @@ -#+TITLE: Mailing Lists - -Carbs Linux aims to move the development and discussion to mailing lists as much -as possible, using the mailing lists hosted at [[https://lists.sr.ht/~carbslinux][Sourcehut]]. The following mailing -lists are available for subscription: - -- [[https://lists.sr.ht/~carbslinux/carbslinux-devel][~carbslinux/carbslinux-devel]] -- [[https://lists.sr.ht/~carbslinux/carbslinux-discuss][~carbslinux/carbslinux-discuss]] -- [[https://lists.sr.ht/~carbslinux/carbslinux-announce][~carbslinux/carbslinux-announce]] -- [[https://lists.sr.ht/~carbslinux/cpt-devel][~carbslinux/cpt-devel]] -- [[https://lists.sr.ht/~carbslinux/cpt-discuss][~carbslinux/cpt-discuss]] -- [[https://lists.sr.ht/~carbslinux/cpt-announce][~carbslinux/cpt-announce]] - -If you want to subscribe to any of these mailing lists, send an empty mail to -one of these mailing lists in the following format: - -#+begin_example -listname+subscribe@lists.sr.ht - -~carbslinux/carbslinux-announce+subscribe@lists.sr.ht -#+end_example - -You are really encouraged to subscribe to the announcement mailing list -=~carbslinux/carbslinux-announce=. diff --git a/src/people.org b/src/people.org deleted file mode 100644 index 4f2fc8f..0000000 --- a/src/people.org +++ /dev/null @@ -1,3 +0,0 @@ -#+TITLE: People - -- Cem Keylan - Founder [[mailto:cem@carbslinux.org][cem@carbslinux.org]] diff --git a/style b/style index dc3edbc..fab647a 160000 --- a/style +++ b/style @@ -1 +1 @@ -Subproject commit dc3edbc26c28205b5ccf697ff3ef2acd001e1a5d +Subproject commit fab647aa9be5581d0ba84d8bdf11753d7530d8e8 diff --git a/texidocs b/texidocs index aab5cc1..37d2f1e 160000 --- a/texidocs +++ b/texidocs @@ -1 +1 @@ -Subproject commit aab5cc17af437489b72a605919bd8038d0db6663 +Subproject commit 37d2f1e9fc3888de78944e3e5539b4354608d456 -- cgit v1.2.3