From 95f85480de7eec5ba26fd54b7d8994f09e550225 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. -
- ]]>