EmojiD

:: joke

By: Maciej Barฤ‡

Short story long

We were discussing some vulnerabilities on the src~prepare~ group's [matrix] channel and when we're talking about systemd errors. I just felt like opening their GitHub and browsing the code. I was just reading the comments… and I saw a comment about kernel APIs and there a emoji. My feeling is probably best expressed my common "KEK". I chuckled. The "Abstract" in 0.0.1 is the original idea I typed on [matrix]. The funniest part of this "development" for me is probably that Emacs on my system doesn't display properly ANY of the emojis in emojid. I had to go back and forth between the source and log files opened in FF (because it renders the emojis properly), emojipedia and "broken" Emacs.

0.0.1 "๐Ÿ˜ƒ ๏ธ ๐ŸŒ ๐Ÿž ๐Ÿš— ๐Ÿ“ž ๐ŸŽ‰ โ™ฅ๏ธ ๐Ÿ"

What you do is clone the repository, execute make and run the binary. Read your log and see if your system is "affected" :P.

๐Ÿ‘‹

And remember emoticons made of the symbols found on the keyboard will always look better ;)

2020 recap

:: new year

By: Maciej Barฤ‡

Recap

What I did this year:

  • began studying at WSIiZ
  • drank a lot of alcohol with friends
  • installed NetBSD ;)
  • learned Nginx and Ansible
  • recruited new people to the src_prepare group
  • struck a nerve with some commies
  • took maintainership of gallery-dl and PPSSPP
  • tweaked my configs
  • went back to KDE and Firefox (missed them)
  • worked with Zigbee (probably not doing that again)

Wishes

What do you wish in new year?

I wish you all merry Christmas and happy new year. Less bugs, more resolved issues, no wontfixes, better compatibility. Faster compilation, less failures. And of course no lawsuits, no copyright infringements and better government.

Portage system replication

:: gentoo, portage, sysadmin, system

By: Maciej Barฤ‡

Intro

Backing up using this method takes a lot less space - ~60MB (without distfiles) and can be restored on almost any system (running portage) and tweaked afterwards for, say, CPU architecture. I've created a a short script with similar method in here.

What we need

  • ebuild repositories are installed with git
  • distfiles (those might be gone when we want to replicate)

Backup

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# System info
emerge --info > info.txt

# Portage tree
cp -Lr /etc/portage .

# Portage layout
tree -a -L 2 /etc/portage > layout.txt

# Packages in @world
cp /var/lib/portage/world .

# Installed sets
cp /var/lib/portage/world_sets .

# Installed packages (with versions)
qlist --installed --nocolor --umap > qlist-use.txt
qlist --installed --nocolor --verbose > qlist-ver.txt

# Distfiles
cp -rv "$(portageq envvar DISTDIR)" distfiles

# Ebuild database
cp -r /var/db/pkg pkgdb

Restoration

To faithfully restore the system perform those actions as root

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
# Copy the portage tree to /etc
rm -dr /etc/portage
cp -r portage /etc/portage

# Checkout the gentoo repo to a commit specified in info.txt
cd "$(portageq get_repo_path / gentoo)"
git checkout # <commit ID>

# Copy distfiles
cp -r distfiles/* "$(portageq envvar DISTDIR)"/

# Fake-install @world and sets
cp world /var/lib/portage/world
cp world_sets /var/lib/portage/world_sets

# Emerge the exact packages from qlist-ver.txt
emerge --keep-going=y -1Oav $(sed 's/^/=/' qlist-ver.txt)