From e7999a032bd888abf3665c501a754dbb922fe7c9 Mon Sep 17 00:00:00 2001
From: Cem Keylan
+ [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. +
+ ]]> + +
+ 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: +
+ +#!/bin/sh + . cpt-lib + (...) ++
+ There are obviously some clean-up and simplifications needed in this new + tool-based package management method. +
+
+ 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.
+
+ 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! +
++ 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. +
++ 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. +
+
+ git
+ libressl
+ grub
+ bison
+ dhcpcd
+ ubase
+
+ bearssl, as a libressl replacement
+ byacc, as a bison replacement
+
+ kiss
+ neatvi
+ mandoc
+ byacc
+ m4
+ e2fsprogs
+ make
+ pkgconf
+ sbase
+ libnl
+ wpa_supplicant
+ bearssl
+
+ 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.
+
+ 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.
+
+ 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 here. +
+ ++ A few days ago, I have also published 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. +
++ I had the idea of creating my own Linux distribution since the May of 2019. Back + then, I had my own 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 r/unixporn about KISS, and I really + thought that it was interesting. Here is my 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. +
++ 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. +
++ 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. +
+
+ If you have ever checked the 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 init daemon and 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.
+
+ 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.
+
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. +
+ + + ]]>+ 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 Github. + The repository and the website is served on Github now. I have also moved the + 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. +
++ 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 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. +
+
+ 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 news section, and the + 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'.
+
+ 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 here!
+
+ Finally, I have released a new tarball today, which can be obtained from the + downloads page. +
+ ++ I am planning to add more of these update posts as I'm feeling better about the + website structure overall. +
++ So I have decided to reimplement this website with my own static generation + scripts. The source will probably be on 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. +
+ ]]>