[How to] manually upgrade 3.5 base modules

Nemesis related tutorials and docs
Forum rules
Please only post tutorials and HOWTOs in here. It should not be a discussion area.
Jack
Contributor
Contributor
Posts: 1857
Joined: 09 Aug 2013, 14:25
Distribution: Porteus and Nemesis
Location: USA

[How to] manually upgrade 3.5 base modules

Post#46 by Jack » 19 Dec 2017, 05:46

Did you ever upgrade LXDE in Nemesis 3.5 to current? If you did can I have a copy. If not how hard can it be?
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: 3924
Joined: 20 Mar 2012, 03:42
Distribution: v5.0-64bit
Location: australia
Contact:

[How to] manually upgrade 3.5 base modules

Post#47 by ncmprhnsbl » 22 Dec 2017, 02:01

Jack wrote:
19 Dec 2017, 05:46
Did you ever upgrade LXDE in Nemesis 3.5 to current?
nope
Jack wrote:
19 Dec 2017, 05:46
If not how hard can it be?
don't know havn't tried.. i do know that lxdm has a problem starting ..
i do, however have an xfce module that i will (probly) upload when i do the next update..
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

[How to] manually upgrade 3.5 base modules

Post#48 by Jack » 22 Dec 2017, 03:19

What I did so far and here is a list.
1. Upgraded to your current.
2. Did xzm2dir to 003-lxde, 003-lxdextra and 003-shared those were in Nemesis 3.5 (LXDE).
3. Copy the /var/lib/pacman/local/ALPM_DB_VERSION from the live system to extracted to the 3 from # 2 (above)
4. Did setup-pacman and the converted to module.
5 Create these.
003-lxde

Code: Select all

faenza-icon-theme gcr gnome-keyring gtk-engine-murrine gtk-engines gtk3 iso-codes json-glib libfm libfm-extra libgnome-keyring libnotify libsecret lxappearance lxappearance-obconf lxde-common lxdm-consolekit lxinput lxlauncher lxmenu-data lxpanel lxrandr lxsession lxtask lxterminal menu-cache network-manager-applet networkmanager-openvpn networkmanager-pptp networkmanager-vpnc nm-connection-editor obconf pcmanfm pptpclient rest vpnc zukitwo-themes
003-lxdextra

Code: Select all

atkmm cairomm colord dconf deadbeef epdfview gconf gcr glibmm gmtk gnome-keyring gnome-mplayer gnome-screenshot gpart gparted gpicview gpointing-device-settings gtkmm gvfs gvfs-afc gvfs-smb i3lock ldb leafpad libcaca libdca libdvdnav libftdi-compat libgnome-keyring libirman libmad libmng libnotify libsecret libsigc++ libusb-compat libxss lirc mobile-broadband-provider-info mplayer mtools network-manager-applet networkmanager-pptp networkmanager-vpnc nm-connection-editor obconf p7zip pamac pangomm poppler poppler-glib pptpclient python2 rtmpdump scrnsaverproto smbclient sound-theme-freedesktop tdb tevent transmission-gtk udisks2 usbmuxd vpnc vte3 xarchiver xautolock
003-shared

Code: Select all

gtk3 gvfs gvfs-afc gvfs-smb json-glib ldb libcanberra libftdi-compat libusb-compat p7zip rest tdb tevent udisks2 usbmuxd
These are the modules in the the 3 *.xzm files and this is how they were made.
6. This is where to upgrade the modules but not sure what I need to do or do this?

Code: Select all

# pacman -S <list of packages>

7. Do dir2xzm to the 3 files.
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: 3924
Joined: 20 Mar 2012, 03:42
Distribution: v5.0-64bit
Location: australia
Contact:

[How to] manually upgrade 3.5 base modules

Post#49 by ncmprhnsbl » 22 Dec 2017, 04:52

Jack wrote:
22 Dec 2017, 03:19
6. This is where to upgrade the modules but not sure what I need to do or do this?
first, download packages to cache, but don't install and ignore dependencies.. also check the package lists for doubles eg. gtk3 is listed in both 003-shared and 003-lxde (it only needs to be in one)

Code: Select all

pacman -Sddw <list of packages>
if there are any packages not in the repo(there will be at least one) this will fail .. remove them from your list..
then

Code: Select all

pacman -Uddr /path/to/extractedmodule /var/cache/pacman/pkg/*.pkg.tar.xz
then clean the cache

Code: Select all

pacman -Scc
repeat for each module.

if this works for you, it still probably won't boot to X ... check here for some ideas:
Starting a DM with openrc
Forum Rules : https://forum.porteus.org/viewtopic.php?f=35&t=44

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

[How to] manually upgrade 3.5 base modules

Post#50 by ncmprhnsbl » 30 Dec 2017, 01:46

updated base modules 30-dec-2017
core:

Code: Select all

archlinux-keyring
curl
device-mapper
dialog
elogind
fuse-common
gawk
gcc-libs
git
glibc
gpgme
gpm
icu
inxi
iptables
krb5
libassuan
libatomic_ops
libelogind
libinput
libnftnl
libnghttp2
libnm
libnm-glib
libsodium
libtool
libunistring
logrotate
nano
networkmanager
openrc
openssl-1.0
opensysusers
package-query
pacman
pinentry
polkit
run-parts
shadow
tar
xfsprogs
gui:

Code: Select all

avahi
cairo
gtk-update-icon-cache
harfbuzz
libjpeg-turbo
librsvg
libxcursor
libxfont2
libxkbcommon-x11
mcpp
mesa
upower
xf86-video-amdgpu
xf86-video-ati
xtra:

Code: Select all

ffmpeg
lcms2
libxkbcommon
mpg123
mailcap
twolame
x265

removed mime-types(replaced by mailcap)
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

[How to] manually upgrade 3.5 base modules

Post#51 by Jack » 26 Sep 2021, 23:29

ncmprhnsbl wrote:
18 Dec 2016, 01:17
one way to upgrade porteus/nemesis 3.5 001, 002 modules
Heres the ones i made:
find them here: 2019 updated base modules

NOTE: this was the process as of DEC-2016, please read the whole thread to see subsequent changes
Most important is that Manjaro core repo are now replaced with Artix repos(system,galaxy,world), since that (soon) Manjaro-openrc will be discontinued.
As of 26-Sept-2017: Manjaro repos(extra,community) will no longer be used, instead, Arch repos(extra,community) will be used.
I recomend using the supplied updated modules above


Here i describe my process for upgrading the base modules of nemesis..
all steps were done using a partially upgraded(with an extra module) version,
so ssl and dcadec issues weren't encountered..
everthing done in X environment with a terminal, cut and paste, and a filemanager.

step1
make a directory on a ext() partition(say for eg. sdaX), we'll call it 'update'
copy 001-core.xzm to 'update'
extract it:

Code: Select all

# cd /mnt/sdaX/update 
# mkdir 001-core
# xzm2dir  001-core.xzm 001-core
step2
copy the /var/lib/pacman/local/ALPM_DB_VERSION from the live system to extracted 001-core

step3
this command will supply a text file to /tmp named pkglist with the names of all the package names (without version info) in the target module

Code: Select all

# pacman -Qr /path/to/extracted/module | awk '{print $1}' > /tmp/pkglist
List of packages:

001-core (19.12.2016):

Code: Select all

acl acpid acpid-openrc archlinux-keyring attr bash bzip2 ca-certificates ca-certificates-cacert ca-certificates-mozilla ca-certificates-utils cdrtools cgmanager cgmanager-openrc consolekit consolekit-openrc coreutils cpio cracklib cronie cronie-openrc curl db dbus-glib dbus-openrc dbus-x11 device-mapper device-mapper-openrc dhclient dhcpcd dhcpcd-openrc dialog diffutils dmidecode dnssec-anchors dosfstools downgrade e2fsprogs elfutils eudev eudev-systemd eventlog expac expat file filesystem findutils fuse-common fuse2 gawk gcc-libs gdbm gettext glib-networking glib2 glibc glibc-openrc gmp gnupg gnutls gpgme gpm gpm-openrc gptfdisk grep gsettings-desktop-schemas gzip haveged haveged-openrc hddtemp hdparm hwids iana-etc inetutils inetutils-openrc inotify-tools inxi iproute2 iptables iptables-openrc iputils ipw2100-fw ipw2200-fw jansson js17 json-c kbd kbproto keyutils kmod krb5 ldns less libarchive libassuan libatomic_ops libcap libdaemon libdbi libedit libelf libeudev libeudev-systemd libevdev libffi libgcrypt libgpg-error libgudev libidn libinput libksba libldap libmm-glib libmnl libndp libnewt libnftnl libnih libnl libnm-glib libpcap libpgm libproxy libpsl libsasl libseccomp libsecret libsodium libsoup libssh2 libtasn1 libteam libtirpc libtool libunistring libusb libutil-linux libwacom libx11 libxau libxcb libxdmcp libxml2 linux-api-headers lm_sensors logrotate lsof lynx lz4 lzo manjaro-keyring mc mdadm mdadm-openrc mpfr mtdev nano ncurses net-tools netifrc nettle networkmanager-consolekit networkmanager-openrc npth nspr nss ntfs-3g ntp ntp-openrc openrc openresolv openssh openssh-openrc openssl openvpn openvpn-openrc p11-kit package-query pacman pacman-mirrorlist pam pambase parted patch pciutils pcre perl pinentry pkcs11-helper polkit-consolekit popt ppp procps-ng psmisc python readline rfkill rp-pppoe rsync run-parts screen sdparm sed shadow slang sqlite squashfs-tools sudo sysfsutils syslog-ng syslog-ng-openrc sysvinit tar tcl texinfo tzdata udev-openrc unrar unzip usb_modeswitch usbutils util-linux vi wget which wpa_supplicant xcb-proto xfsprogs xproto xz yajl zd1211-firmware zeromq zip zlib
002-gui (19.12.2016):

Code: Select all

atk avahi cairo compositeproto damageproto fixesproto fontconfig fontsproto freeglut freetype2 gdk-pixbuf2 giflib glew glu graphite gtk-update-icon-cache gtk2 harfbuzz hicolor-icon-theme hwinfo imlib2 inputproto jasper json-c libcroco libcups libdatrie libdrm libepoxy libfontenc libice libid3tag libjpeg-turbo libomxil-bellagio libpciaccess libpng librsvg libsm libthai libtiff libtxc_dxtn libunwind libutempter libxemu libxaw libxcomposite libxcursor libxdamage libxext libxfixes libxfont libxft libxi libxinerama libxkbcommon-x11 libxkbfile libxmu libxpm libxrandr libxrender libxshmfence libxt libxtst libxv libxvmc libxxf86vm llvm-libs mcpp mesa mesa-demos mhwd mhwd-amdgpu mhwd-ati mhwd-catalyst mhwd-db mhwd-nvidia mhwd-nvidia-304xx mhwd-nvidia-340xx openbox pango pixman pm-utils randrproto recordproto renderproto shared-mime-info startup-notification upower v86d videoproto vte vte-common wayland xbitmaps xcb-util xextproto xf86-input-evdev xf86-input-joystick xf86-input-keyboard xf86-input-mouse xf86-input-synaptics xf86-input-vmmouse xf86-input-void xf86-video-amdgpu xf86-video-ark xf86-video-ati xf86-video-dummy xf86-video-fbdev xf86-video-glint xf86-video-i128 xf86-video-intel xf86-video-mach64 xf86-video-neomagic xf86-video-nouveau xf86-video-nv xf86-video-openchrome xf86-video-r128 xf86-video-savage xf86-video-siliconmotion xf86-video-sis xf86-video-tdfx xf86-video-trident xf86-video-vesa xf86-video-vmware xf86-video-voodoo xf86vidmodeproto xineramaproto xkeyboard-config xorg-bdftopcf xorg-font-util xorg-font-utils xorg-fonts-alias xorg-fonts-encodings xorg-fonts-misc xorg-iceauth xorg-luit xorg-mkfontdir xorg-mkfontscale xorg-server xorg-server-common xorg-server-utils xorg-sessreg xorg-setxkbmap xorg-xauth xorg-xbacklight xorg-xcmsdb xorg-xgamma xorg-xhost xorg-xinit xorg-xinput xorg-xkbcomp xorg-xmessage xorg-xmodmap xorg-xprop xorg-xrandr xorg-xrdb xorg-xrefresh xorg-xset xorg-xsetroot xterm
002-xtra (19.12.2016):

Code: Select all

a52dec aalib alsa-lib alsa-utils alsa-utils-openrc at-spi2-atk at-spi2-core cifs-utils dcadec desktop-file-utils dmxproto enca faac faad2 ffmpeg fftw flac fribidi gsm gtkdialog hdf5 icu ilmbase jack lame lcms2 libass libasyncns libatasmart libavc1394 libbluray libbsd libcap-ng libcddb libcdio libcdio-paranoia libdmx libdvdread libev libevent libexif libglade libgusb libiec61883 libimobiledevice libkeybinder2 libmodplug libmp4v2 libogg libplist libpulse libraw1394 libsamplerate libsndfile libsoxr libssh libtheora libunique libusbmuxd libva libva-intel-driver libva-vdpau-driver libvdpau libvdpau-va-gl libvorbis libvpx libwbclient libwebp libwnck libx264 libxkbcommon libxres libxxf86dga mime-types mpg123 netcdf opencore-amr openexr openjpeg openjpeg2 opus orc pm-quirks recode schroedinger sdl sdl2 speex speexdsp talloc ttf-dejavu twolame v4l-utils vid.stab wavpack x265 xcb-util-image xclip xdg-user-dirs xdg-utils xf86dgaproto xvidcore zita-alsa-pcmi zita-resampler
step4
note: if you need wifi network, you can use: terminal/console > nmtui
if you haven't already, set up pacman mirrors, etc with:

Code: Select all

setup-pman
sync to packagebase and install the keyrings to the live system(and keep the pkgs in the cache)

Code: Select all

# pacman -Sy archlinux-keyring manjaro-keyring
first to check the list of packages for nonexistent, AUR, wrong named packages)(say n to install)

Code: Select all

# pacman -S <list of packages> 
this may spit errors like:

Code: Select all

rror: target not found: cower
error: target not found: eudev-systemdcompat
error: target not found: ipw2100
error: target not found: ipw2200
:: There are 2 providers available for libdbus:
:: Repository core
   1) dbus  2) dbus-x11
error: target not found: ntfs-3g-fuse
error: target not found: pacaur
cower and pacaur are from AUR so remove them from list (have since rebuilt these added them to module above)
ipw2100 was incorrectly stripped of -fw
eudev-systemdcompat is replaced by eudev-systemd and libeudev-systemd
libdus replaced by dbus-x11
To compare the list against a pacman -Syu list of upgrades
to find packages that dont need to be upgraded and remove them from the list do this:

Code: Select all

# pacman -Qu | awk '{print $1}' > /tmp/full-update-list   (to get a full list of updates)
then
# comm -12 /tmp/full-update-list /tmp/pkglist > /tmp/updatesformodule  (which gives a list of packages to be updated for target module

step4
get the required packages to cache(without installing them) using a text file with a list of package names
before, make sure that all that is in cache is the keyrings you installed earlier

Code: Select all

# pacman -Sw `cat /tmp/pkglist`  (for all the packages)
or
# pacman -Sw `cat /tmp/updatesformodule`  (for just the out of date packages)
install these packages to 001-core

Code: Select all

# pacman -Uddr /sdaX/update/001-core /var/cache/pacman/pkg/*.pkg.tar.*
or

Code: Select all

# pacman -Udd -needed -r /sdaX/update/001-core /var/cache/pacman/pkg/*.pkg.tar.*
to avoid reinstalling packages left on the list that didnt require updating

step5 (this section is incomplete)
remove some things:

Code: Select all

/usr/share/locale/ (keep the required locales if you use other than US_en)
/usr/share/doc/
/usr/share/gtk-doc/
/usr/share/man/
/usr/share/gir/
/usr/share/info/
/usr/share/i18n/locales
/usr/share/licenses/
/usr/share/texinfo/
/usr/include/       [color=#FF0000]these header files should kept somewhere to include in devel[/color]
/usr/lib/python3.5/test/
more...maybe (different for each 00 module)
step6
make the module..

Code: Select all

# dir2xzm /sdaX/update/001-core 001-core-1.xzm
step7
repeat for 002-gui and 002-xtra, clearing var/cache/pacman/pkg/ beforehand.
suggestion: keep the extracted modules for future upgrades.

todo:
revise/improve steps
include alternative approach(es)
Do you still use this to build your Nemesis today or have you change anything? If you change it can point me to it so I can read up how you did it.
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.

Post Reply