Example 003-DE build system: Mate

Arch based Porteus community project

Moderator: M. Eerie

User avatar
ncmprhnsbl
DEV Team
DEV Team
Posts: 3941
Joined: 20 Mar 2012, 03:42
Distribution: v5.0-64bit
Location: australia
Contact:

Example 003-DE build system: Mate

Post#1 by ncmprhnsbl » 21 Jan 2024, 04:10

How to build your own 003-DE module?
Using mate as an example:
It can be as simple as:
1. Boot with no 003-DE module (eg. cheatcode: noload=003-lxde)
2. As root from the tty or the minimal openbox enviroment :

Code: Select all

setup-pman (if you haven't already)
3.

Code: Select all

pacman -Sg | grep mate  (to find if there are package groups for it)
returns in this case:

Code: Select all

mate-extra
mate
4.

Code: Select all

 pmod mate mate-extra (if you want the lot)
Which should provide you with a module containing all the packages, but will need some more work to make it login and have your desired settings and some nice nemesis filemanager tools.
Rather than going into that, I'll now skip to the 'build scripts' method:

Build script method
1. Download this archive: mbs.tar.gz
2. Extract it to a Posix filesystem with plenty of space as root (or at least do chown -R root:root mbs/TREE)
3. Read mbs/docs/instructions:

Code: Select all

All operations must be done as root user from the 'build' directory.
In particular, the TREE directory must be owned by root (chown -R root:root ../TREE)

0. Adjust the docs/mate-short.txt for the packages you want.

1. Download or Update the packages (in the 'pkg' directory):
    # sh ../scripts/update-pkgs mate

2. Build the module:
    # sh ../scripts/build mate

3. Boot with the new desktop module that is present in the 'module' directory.
   Use the cheatcode '3' to boot to text mode, then run:
    # cache-module
   Which will produce a folder ad optionally a module containg the updated caches.
   Merge these files with your 003 module. (Extract and copy the files to it.)
   You can also keep the caches in the 'cache' directory for reuse in later builds.
   
   Also: configure your desktop to your liking and copy /home/guest/.config/dconf/user to your module and also to your TREE for later use.
The obvious questions arising from this:
How do i "Adjust the docs/mate-short.txt for the packages you want."? :) The easiest way is to just take the lot. The other is to use pacman's tools to track down why certain packages are needed, say, in particular big stuff like webkit2gtk.
eg. pacman -Si atril | grep Depends or sometimes using Artix's or Archlinux' s web package database is easier eg. https://archlinux.org/packages/extra/x86_64/webkit2gtk/ ..see the 'required by' section.
So I don't want zenity pulling in gtk4 and all it's deps(that get's used by nothing) ... :( there was an AUR build called zenity-light which i use for cinnamon, but doesn't seem to exist anymore and i didn't save the PKGBUILD it seems..
This a good example of where a functional package management system can work against creating a 'lean' system.

I will edit this post with more when i think of it and arising from further discussion..
Forum Rules : https://forum.porteus.org/viewtopic.php?f=35&t=44

User avatar
M. Eerie
Moderator
Moderator
Posts: 622
Joined: 31 Aug 2017, 21:18
Distribution: Nemesis Xfce/MATE x64

Example 003-DE build system: Mate

Post#2 by M. Eerie » 22 Jan 2024, 11:07

ncmprhnsbl wrote:
21 Jan 2024, 04:10
at least do chown -R root:root mbs/TREE
Note that under the TREE folder, there is a guest user folder, which should not belong to the root user.

Code: Select all

$ tree -a TREE
TREE
├── etc
│   ├── conf.d
│   │   └── agetty.tty1
│   └── X11
│       └── xinit
│           └── xinitrc
├── home
│   └── guest
│   ├── .bash_profile
│   └── .local
│   └── share
│   └── applications
│   ├── caja-root.desktop
│   └── mimeinfo.cache

Code: Select all

└── usr
    └── share
        └── applications
            ├── caja-create-module.desktop
            ├── caja-extract-module.desktop
            ├── caja-install-pkg.desktop
            ├── caja-mount-module.desktop
            └── caja-unmount-module.desktop

12 directories, 10 files

> Does not compute_ 🖖

https://forum.porteus.org/viewtopic.php?p=94310#p94310
https://forum.porteus.org/viewtopic.php?p=84002#p84002
https://forum.porteus.org/viewtopic.php?p=77174#p77174
https://forum.porteus.org/viewtopic.php?f=39&t=8584

User avatar
ncmprhnsbl
DEV Team
DEV Team
Posts: 3941
Joined: 20 Mar 2012, 03:42
Distribution: v5.0-64bit
Location: australia
Contact:

Example 003-DE build system: Mate

Post#3 by ncmprhnsbl » 23 Jan 2024, 00:36

M. Eerie wrote:
22 Jan 2024, 11:07
Note that under the TREE folder, there is a guest user folder, which should not belong to the root user.
true, but in the scripts/build script this is corrected.
this is mainly to simplify adjustments made to the TREE as root without having to switch users or worry about ownership beyond 'everything owned by root'.
at least, i've found this works for me, you are, of course welcome to have a different approach :)
as well, if someone were to use the TREE outside the build system, it's best they are aware of this.
Forum Rules : https://forum.porteus.org/viewtopic.php?f=35&t=44

User avatar
M. Eerie
Moderator
Moderator
Posts: 622
Joined: 31 Aug 2017, 21:18
Distribution: Nemesis Xfce/MATE x64

Example 003-DE build system: Mate

Post#4 by M. Eerie » 23 Jan 2024, 08:55

ncmprhnsbl wrote:
23 Jan 2024, 00:36
in the scripts/build script this is corrected
I saw it later, yes :roll:
> Does not compute_ 🖖

https://forum.porteus.org/viewtopic.php?p=94310#p94310
https://forum.porteus.org/viewtopic.php?p=84002#p84002
https://forum.porteus.org/viewtopic.php?p=77174#p77174
https://forum.porteus.org/viewtopic.php?f=39&t=8584

Jack
Contributor
Contributor
Posts: 1857
Joined: 09 Aug 2013, 14:25
Distribution: Porteus and Nemesis
Location: USA

Example 003-DE build system: Mate

Post#5 by Jack » 25 Jan 2024, 05:33

ncmprhnsbl wrote:
21 Jan 2024, 04:10
mbs.tar.gz
Next week I will try and install Mate using mbs.tar.gz since I now have Nemesis v24.01 up and running. I will post any problem I have if any.
I just like Slackware because I think it teach you about Linux to build packages where Ubuntu is like Windows you just install programs you want.

User avatar
M. Eerie
Moderator
Moderator
Posts: 622
Joined: 31 Aug 2017, 21:18
Distribution: Nemesis Xfce/MATE x64

Example 003-DE build system: Mate

Post#6 by M. Eerie » 25 Jan 2024, 11:29

Jack wrote:
25 Jan 2024, 05:33
using mbs.tar.gz
Surprisingly, the module obtained using this method is quite large (around 150mb if I don't misremember), considering the reduced number of packages included compared to the mate and mate-extras groups. :%)
:unknown:
> Does not compute_ 🖖

https://forum.porteus.org/viewtopic.php?p=94310#p94310
https://forum.porteus.org/viewtopic.php?p=84002#p84002
https://forum.porteus.org/viewtopic.php?p=77174#p77174
https://forum.porteus.org/viewtopic.php?f=39&t=8584

User avatar
ncmprhnsbl
DEV Team
DEV Team
Posts: 3941
Joined: 20 Mar 2012, 03:42
Distribution: v5.0-64bit
Location: australia
Contact:

Example 003-DE build system: Mate

Post#7 by ncmprhnsbl » 26 Jan 2024, 02:09

M. Eerie wrote:
25 Jan 2024, 11:29
Surprisingly, the module obtained using this method is quite large (around 150mb if I don't misremember), considering the reduced number of packages included compared to the mate and mate-extras groups. :%)
while the roughly "curated" (it's basicly mate group plus atril,eom..) list is less packages, the main biggies remain: ie: two versions of webkit2gtk (one via zenity, the other atril)
and mate-user-guide pulls in the gtk4/libadwaita stack via yelp, i believe.. so possibly a custom zenity and atril might cut things back a lot.
mate-themes/wallpapers/icon-theme are pretty hefty too, i think.
Forum Rules : https://forum.porteus.org/viewtopic.php?f=35&t=44

Jack
Contributor
Contributor
Posts: 1857
Joined: 09 Aug 2013, 14:25
Distribution: Porteus and Nemesis
Location: USA

Example 003-DE build system: Mate

Post#8 by Jack » 28 Jan 2024, 03:47

I just try to install Mate here is the first ERROR.

Code: Select all

[porteus build]# sh ../scripts/update-pkgs mate-short.txt
egrep: warning: egrep is obsolescent; using grep -E

DONE

grep: /tmp/upgrade.log: No such file or directory
 Check the upgrades in: /tmp/upgrade.log 
[porteus build]# 
I just like Slackware because I think it teach you about Linux to build packages where Ubuntu is like Windows you just install programs you want.

User avatar
ncmprhnsbl
DEV Team
DEV Team
Posts: 3941
Joined: 20 Mar 2012, 03:42
Distribution: v5.0-64bit
Location: australia
Contact:

Example 003-DE build system: Mate

Post#9 by ncmprhnsbl » 28 Jan 2024, 05:34

Jack wrote:
28 Jan 2024, 03:47
[porteus build]# sh ../scripts/update-pkgs mate-short.txt
as per the docs/instructions, the correct command is:

Code: Select all

# sh ../scripts/update-pkgs mate
Forum Rules : https://forum.porteus.org/viewtopic.php?f=35&t=44

Jack
Contributor
Contributor
Posts: 1857
Joined: 09 Aug 2013, 14:25
Distribution: Porteus and Nemesis
Location: USA

Example 003-DE build system: Mate

Post#10 by Jack » 28 Jan 2024, 19:44

I made my first try of Mate at lease it booted up but it missing alot of modules I like to use so I need to edit mate-short.txt and add what I want.

Thanks
I just like Slackware because I think it teach you about Linux to build packages where Ubuntu is like Windows you just install programs you want.

Jack
Contributor
Contributor
Posts: 1857
Joined: 09 Aug 2013, 14:25
Distribution: Porteus and Nemesis
Location: USA

Example 003-DE build system: Mate

Post#11 by Jack » 29 Jan 2024, 23:15

Well I added what I wanted now I have to fix it to make it look better.

When you get time can I get a copy of 001-core 002-gui 002-xtra and 003-shared build scripts? So I can try to build my own to see if I can do it too.
I just like Slackware because I think it teach you about Linux to build packages where Ubuntu is like Windows you just install programs you want.

User avatar
M. Eerie
Moderator
Moderator
Posts: 622
Joined: 31 Aug 2017, 21:18
Distribution: Nemesis Xfce/MATE x64

Example 003-DE build system: Mate

Post#12 by M. Eerie » 01 Feb 2024, 21:51

ncmprhnsbl wrote:
21 Jan 2024, 04:10
How do i "Adjust the docs/mate-short.txt for the packages you want."?
Taking as a starting point the packages of the Porteux MATE version, I got a fairly small version (about 31 Mb) and it works reasonably well. It does not include atril nor does have icons or themes, which I usually assemble in a separate module to serve my different editions/desktops.

In case someone needs a PDF reader, please remember that Firefox itself can be used as such. Another alternative is to install evince, which unexpectedly uses half as much space than atril, being the latter the native program... The fault is the webkit2gtk package as mentioned above.

This is the list of packages that I have used:

Code: Select all

accountsservice
blueman
caja
caja-admin
caja-extensions-common
caja-open-terminal
caja-sendto
caja-xattr-tags
dbus-python
enchant
engrampa
eom
exempi
ffmpegthumbnailer
gtk-layer-shell
gtksourceview4
libcanberra
libdbusmenu-gtk3
libgirepository
libgxps
libhandy
libmatekbd
libmatemixer
libmateweather
libmpc
libpeas
libportal
libportal-gtk3
libsoup
libxdg-basedir
marco
mate-calc
mate-common
mate-control-center
mate-desktop
mate-media
mate-menus
mate-notification-daemon
mate-panel
mate-polkit
mate-power-manager
mate-session-manager
mate-settings-daemon
mate-system-monitor
mate-terminal
mate-utils
meld
mozo
pluma
ttf-opensans
xcape
xfconf

#CAN BE REMOVED IF YOU DO NOT NEEDED THEM:
lxdm (Need to investigate how to configure it to get a graphics startup display manager)

screenkey
meld
python-cairo
python-gobject
gobject-introspection-runtime


rofi
xcb-util-cursor
xcb-util-renderutil
xcb-util-wm
xcb-util-xrm
It can still be reduced some more, since I have added several programs that I consider useful (meld, rofi, screenkey...), but that hardly takes up any space and I like to activate modules in a Unity hud-style window.. :)

Edit (2024-02-26)
============
REMOVED: libgtop as it is already included in 003-shared module.
ADDED: libmpc ttf-opensans xfconf
> Does not compute_ 🖖

https://forum.porteus.org/viewtopic.php?p=94310#p94310
https://forum.porteus.org/viewtopic.php?p=84002#p84002
https://forum.porteus.org/viewtopic.php?p=77174#p77174
https://forum.porteus.org/viewtopic.php?f=39&t=8584

User avatar
M. Eerie
Moderator
Moderator
Posts: 622
Joined: 31 Aug 2017, 21:18
Distribution: Nemesis Xfce/MATE x64

Example 003-DE build system: Mate

Post#13 by M. Eerie » 01 Feb 2024, 22:10

As a side note, I must say that I notice quite a slowdown in the development of the MATE desktop. From what I've been able to read around, it's been a while since Martin Wimpress dropped Ubuntu MATE, while Clément Lefèbvre (Linux Mint leader) has also been "pushed aside" in some way.

It's a pity because they are the two distributions that in my opinion have driven the development of MATE the most, and I'm afraid that being a minority those who use it, it will end up being abandoned, as it has already been abandoned by the SOLUS distribution.

For my part I have been experimenting to create a flavor of Budgie Desktop on Nemesis and actually got it working several months ago, but now I can't because of the dependency on systemd, which is outside of Artix by definition.

Also Budgie is switching from GTK to QT... So, long live the mouse
> Does not compute_ 🖖

https://forum.porteus.org/viewtopic.php?p=94310#p94310
https://forum.porteus.org/viewtopic.php?p=84002#p84002
https://forum.porteus.org/viewtopic.php?p=77174#p77174
https://forum.porteus.org/viewtopic.php?f=39&t=8584

User avatar
ncmprhnsbl
DEV Team
DEV Team
Posts: 3941
Joined: 20 Mar 2012, 03:42
Distribution: v5.0-64bit
Location: australia
Contact:

Example 003-DE build system: Mate

Post#14 by ncmprhnsbl » 03 Feb 2024, 00:59

M. Eerie wrote:
01 Feb 2024, 21:51
This is the list of packages that I have used:
i notice that some of these are already in 001-core, 003-shared:

Code: Select all

dconf (001)
libappindicator-gtk3(003-shared)
libindicator-gtk3(003-shared)
network-manager-applet(003-shared)
perhaps the result of using the rolling mirrorlist?
and with zenity, did you just leave out the libadwaita cascade? i imagine it(or whatever uses it) could be fine, with just some complaints..
Forum Rules : https://forum.porteus.org/viewtopic.php?f=35&t=44

User avatar
M. Eerie
Moderator
Moderator
Posts: 622
Joined: 31 Aug 2017, 21:18
Distribution: Nemesis Xfce/MATE x64

Example 003-DE build system: Mate

Post#15 by M. Eerie » 04 Feb 2024, 00:43

ncmprhnsbl wrote:
03 Feb 2024, 00:59
some of these are already in 001-core, 003-shared
You're right. I've removed them.
ncmprhnsbl wrote:
03 Feb 2024, 00:59
and with zenity, did you just leave out the libadwaita cascade
Hmmmm. I didn't check that one until you reminded me. Logically zenity doesn't work, and I can't find zenity-light. But I do remember that you already pointed me once in the direction of the yad-light alternative. I don't know if it will still be active. Anyway, it needs to be compiled with devel module via trizen or other AUR helper.

Updated the "short-list" according to the advice.

It would be nice to include 7z v. 23-10. Not because it compresses more or less, but because it allows to decompress all the usual known formats and some more. :roll:
> Does not compute_ 🖖

https://forum.porteus.org/viewtopic.php?p=94310#p94310
https://forum.porteus.org/viewtopic.php?p=84002#p84002
https://forum.porteus.org/viewtopic.php?p=77174#p77174
https://forum.porteus.org/viewtopic.php?f=39&t=8584

Post Reply