XigmaNAS

From pega.life
Jump to navigation Jump to search

BSD cloud images https://bsd-cloud-image.org/ login: freebsd

https://object-storage.public.mtl1.vexxhost.net/swift/v1/1dbafeefbd4f4c80864414a441e72dd2/bsd-cloud-image.org/images/freebsd/14.0/2024-05-06/zfs/freebsd-14.0-zfs-2024-05-06.qcow2

XigmaNAS IRC https://web.libera.chat/#xigmanas

Install ports

fetch https://download.freebsd.org/ftp/ports/ports/ports.tar.xz
sudo tar xf ports.tar.xz -C /usr/

Install source

fetch https://download.freebsd.org/ftp/releases/amd64/14.0-RELEASE/src.txz
sudo tar xf src.txz -C /

Install packages:

bash
portupgrade
cdrtools
subversion
git-lite
gcc13

# for firefly
gdbm 

# for fuppes
autoconf
automake
textproc/libxml2 
audio/taglib 
devel/pcre 
misc/e2fsprogs-libuuid
audio/lame
audio/twolame
audio/libvorbis
multimedia/mp4v2
multimedia/ffmpeg4

pkg install -y autoconf automake textproc/libxml2 
pkg install -y audio/taglib devel/pcre misc/e2fsprogs-libuuid audio/lame audio/twolame audio/libvorbis multimedia/mp4v2 multimedia/ffmpeg4


libublio # for fusefs-exfat

krb5

transmission-daemon
transmission-cli
transmission-components

how_to_compile_xigmanas_from_scratch.pdf

https://forums.freebsd.org/threads/guide-using-git-to-manage-ports-source-and-documentation.79721/

git clone --depth=1 https://git.freebsd.org/ports.git /usr/ports
git clone --depth=1 https://git.freebsd.org/src.git /usr/src

Getting XigmaNAS from svn

mkdir /usr/local/xigmanas
cd /usr/local/xigmanas/
svn co https://svn.code.sf.net/p/xigmanas/code/trunk svn

cp /usr/local/xigmanas/svn/build/ports/distfiles/*.{gz,zip} /usr/ports/distfiles/
sudo mkdir /usr/local/xigmanas
cd /usr/local/xigmanas/
fetch https://sourceforge.net/code-snapshots/svn/x/xi/xigmanas/code/xigmanas-code-r9999-trunk.zip
sudo tar xf xigmanas-code-r9999-trunk.zip
sudo ln -s xigmanas-code-r9999-trunk svn
cp /usr/local/xigmanas/svn/build/ports/distfiles/*.{gz,zip} /usr/ports/distfiles/

Compiling XigmaNAS

export BULK=yes
export BATCH=yes
export MAKE_JOBS_NUMBER=8 
/usr/local/xigmanas/svn/build/make.sh
# ls /usr/local/xigmanas
XigmaNAS-x86-9.0.0.1.43.checksum builds
XigmaNAS-x86-LiveCD-9.0.0.1.43.iso rootfs
XigmaNAS-x86-embedded-9.0.0.1.43.img svn
bootloader work

Patches

fdisk

cd /usr/local/xigmanas/svn/build/ports/fdisk
make extract

egrep -B1 -A1 '^usage' work/fdisk-1.1/fdisk.c

sed -i '.orig' 's/^\([a-z][a-zA-Z0-9_]*\)()$/\1(void)/g' /usr/local/xigmanas/svn/build/ports/fdisk/work/fdisk-1.1/fdisk.c

cd /usr/local/xigmanas/svn/build/ports/fdisk/work/fdisk-1.1
diff -u fdisk.c.orig fdisk.c > ../../files/patch-fdisk.c 

netatalk3

root@xigmanas:/usr/local/xigmanas/svn/build/ports/netatalk3 # grep -r FreeBSD . | grep LINUX
./work/netatalk-3.1.14/etc/uams/uams_dhx_pam.c:#if defined LINUX || defined __FreeBSD__
./work/netatalk-3.1.14/etc/uams/uams_dhx2_pam.c:#if defined LINUX || defined __FreeBSD__
./work/netatalk-3.1.14/etc/uams/uams_pam.c:#if defined LINUX || defined __FreeBSD__
root@xigmanas:/usr/local/xigmanas/svn/build/ports/netatalk3 #
root@xigmanas:/usr/ports/net/netatalk3/files # ls -l
total 40
-rw-r--r--  1 root wheel  646 Apr  6  2021 netatalk.in
-rw-r--r--  1 root wheel  188 Apr  6  2021 pam.conf
-rw-r--r--  1 root wheel 1767 May  1  2022 patch-config_Makefile.in
-rw-r--r--  1 root wheel  556 Oct  6 23:17 patch-configure
-rw-r--r--  1 root wheel 1007 Feb 27  2023 patch-etc_afpd_Makefile.in
-rw-r--r--  1 root wheel  273 Jul 20  2016 patch-etc_cnid__dbd_cnid__metad.c
-rw-r--r--  1 root wheel  341 May  1  2022 patch-etc_netatalk_Makefile.in
-rw-r--r--  1 root wheel  380 Nov 22 16:10 patch-etc_uams_uams__dhx2__pam.c
-rw-r--r--  1 root wheel  581 Nov 22 16:10 patch-etc_uams_uams__dhx__pam.c
-rw-r--r--  1 root wheel  416 Nov 22 16:10 patch-etc_uams_uams__pam.c
root@xigmanas:/usr/ports/net/netatalk3/files # cat patch-etc_uams_uams__dhx2__pam.c
--- etc/uams/uams_dhx2_pam.c.orig       2023-11-22 15:19:12 UTC
+++ etc/uams/uams_dhx2_pam.c
@@ -136,7 +136,7 @@ error:
  * echo off means password.
  */
 static int PAM_conv (int num_msg,
-#ifdef LINUX
+#if defined(LINUX) || (defined(FREEBSD) && __FreeBSD_version >= 1400000)
                      const struct pam_message **msg,
 #else
                      struct pam_message **msg,
root@xigmanas:/usr/ports/net/netatalk3/files # ls -l /usr/local/xigmanas/svn/build/ports/netatalk3/files/
total 24
-rw-r--r--  1 root wheel 2563 Dec 28 17:22 netatalk.in
-rw-r--r--  1 root wheel 1767 Dec 28 17:22 patch-config_Makefile.in
-rw-r--r--  1 root wheel  508 Dec 28 17:22 patch-configure
-rw-r--r--  1 root wheel 1007 Dec 28 17:22 patch-etc_afpd_Makefile.in
-rw-r--r--  1 root wheel  273 Dec 28 17:22 patch-etc_cnid__dbd_cnid__metad.c
-rw-r--r--  1 root wheel  341 Dec 28 17:22 patch-etc_netatalk_Makefile.in
root@xigmanas:/usr/ports/net/netatalk3/files #