Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
packages [2016/03/11 02:07] snacsnocpackages [2025/03/01 05:49] (current) snacsnoc
Line 1: Line 1:
 ===== Installing packages ====== ===== Installing packages ======
 +For a list of all packages available see: http://snacklinux.geekness.eu/repo/pub/packageslist.txt (x86)
 +
 ''[[https://github.com/snacsnoc/fbpkg|fbpkg]]'' is the package manager for SnackLinux. ''[[https://github.com/snacsnoc/fbpkg|fbpkg]]'' is the package manager for SnackLinux.
  
 Update the packages list by running Update the packages list by running
- fbpkg update+  fbpkg update
  
 Search for packages Search for packages
- fbpkg search tetris+  fbpkg search tetris
  
 Install a package Install a package
Line 24: Line 26:
  
 ===== Non-native ===== ===== Non-native =====
 +**Note**: It is easier to use pre-built toolchains from here: https://musl.cc/#binaries (native builds)
 +
 **[[http://ftp.gnu.org/gnu/gcc/gcc-5.2.0/|gcc 5.2.0]]** **[[http://ftp.gnu.org/gnu/gcc/gcc-5.2.0/|gcc 5.2.0]]**
  
Line 43: Line 47:
        
 //(Out of tree build)// //(Out of tree build)//
-   $PWD/../gcc-5.2.0/configure --prefix=/usr --target=i486-linux-musl --host=i486-linux-musl \+   $PWD/../gcc-5.2.0/configure --prefix=/usr --target=x86_64-linux-musl --host=x86_64-linux-musl \
    --enable-languages=c,c++ --disable-debug --enable-threads=posix  --disable-multilib --disable-nls \    --enable-languages=c,c++ --disable-debug --enable-threads=posix  --disable-multilib --disable-nls \
    --disable-shared --disable-bootstrap  --without-cloog --disable-lto-plugin --disable-libmudflap \    --disable-shared --disable-bootstrap  --without-cloog --disable-lto-plugin --disable-libmudflap \
Line 50: Line 54:
 //Note: extracted [[docker|Docker]] images can be extracted for use as the sysroot if a full build of SnackLinux is undesireable//  //Note: extracted [[docker|Docker]] images can be extracted for use as the sysroot if a full build of SnackLinux is undesireable// 
  
-   make LDFLAGS="-static -s" CFLAGS="-s" +   make LDFLAGS="-s" CFLAGS="-s" 
  
    make DESTDIR=/path/to/staging \    make DESTDIR=/path/to/staging \
Line 64: Line 68:
 //[[https://github.com/snacsnoc/snacklinux/blob/master/configs/linux/.config|Using this .config]]// //[[https://github.com/snacsnoc/snacklinux/blob/master/configs/linux/.config|Using this .config]]//
  
-  make headers_install ARCH=x86 INSTALL_HDR_PATH=/path/to/install/headers/to+  make headers_install ARCH=x86_64 INSTALL_HDR_PATH=/path/to/install/headers/to
  
 **linux-modules** **linux-modules**
   make modules   make modules
-  make modules_install ARCH=x86 INSTALL_MOD_PATH=/path/to/install/headers/to+  make modules_install ARCH=x86_64 INSTALL_MOD_PATH=/path/to/install/headers/to
            
 +** dropbear 2022.82**
 +  CC=i486-linux-musl-gcc CROSS_COMPILE=i486-linux-musl- ./configure --disable-zlib --host=i486-linux-musl --enable-static
 +  CC=i486-linux-musl-gcc make PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp" MULTI=1 SCPPROGRESS=1 strip
 +  
 +** file 5.44 ** (perl is needed)
 +  autoreconf -vfi
 +  CC=i486-linux-musl-gcc CFLAGS="-s -static" ./configure --prefix=/usr --host=i486-linux-musl
 +  
 +** gpm 1.20.7 **
 +Needed patches: https://sources.debian.org/data/main/g/gpm/1.20.7-10/debian/patches/096_fix-compilation-against-musl-libc.patch
 +./configure --prefix=/usr --host=i486-linux-musl
 ===== Native ===== ===== Native =====
-**[[http://ftp.gnu.org/gnu/binutils/|binutils 2.26]]** 
-//Note: binutils is first compiled using the cross compiler, so this is using the cross-compiled binutuls to compile a native binutils // 
  
-   LDFLAGS="-Wl,-static"+**[[http://ftp.gnu.org/gnu/make/|make 4.2]]**
-   CFLAGS="-D_GNU_SOURCE -D_LARGEFILE64_SOURCE -s -static"+
-   ./configure  --disable-shared --disable-multilib --disable-nls --prefix=/usr --with-sysroot=/ +
-   make +
-   make DESTDIR=/path/for/staging install +
- +
-**[[http://ftp.gnu.org/gnu/make/|make 4.1]]**+
   ./configure --prefix=/usr   ./configure --prefix=/usr
   sh build.sh   sh build.sh
-  ./make DESTDIR=/pkg install 
  
-**[[https://matt.ucc.asn.au/dropbear/dropbear.html|dropbear 2015.67]]** +Currently a bug running ./make install 
-  ./configure --disable-zlib --disable-wtmp  + 
 +  ./make DESTDIR=/__pkg install 
 +So for now, the binary is just copied in a tarball 
 + 
 +**[[https://matt.ucc.asn.au/dropbear/dropbear.html|dropbear 2022.82]]** 
 +  ./configure --disable-zlib  --enable-static
   make PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp" MULTI=1 SCPPROGRESS=1 strip   make PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp" MULTI=1 SCPPROGRESS=1 strip
   cp dropbearmulti /path/to/staging/usr/bin && cd /path/to/staging/usr/bin   cp dropbearmulti /path/to/staging/usr/bin && cd /path/to/staging/usr/bin
Line 98: Line 109:
   dropbearkey -t dss -f dropbear_dss_host_key   dropbearkey -t dss -f dropbear_dss_host_key
   dropbear    dropbear 
 +
 +**[[https://code.google.com/p/ucpp/|ucpp 1.3.2]]** ([[https://bitbucket.org/snacsnoc/ucpp|mirror]])
 + make CFLAGS="-s -static" LDFLAGS="-s -static"
 +   
 +Example usage: ln -s /usr/bin/ucpp /lib/cpp   
 +
 +
 +** [[http://www.musl-libc.org/|musl 1.1.18]]**
 +   ./configure --prefix=/ 
 +   make
 +   make DESTDIR=/path/to/staging install 
 +
 +
 +** [[http://mama.indstate.edu/users/ice/tree/|tree 1.7.0]]**
 +   make
 +   make prefix=/path/to/staging install
 +
 +----
 +
 +
 +**[[http://ftp.gnu.org/gnu/binutils/|binutils 2.26]]**
 +//Note: binutils is first compiled using the cross compiler, so this is using the cross-compiled binutuls to compile a native binutils //
 +
 +   LDFLAGS="-Wl,-static" \
 +   CFLAGS="-D_GNU_SOURCE -D_LARGEFILE64_SOURCE -s -static" \
 +   ./configure  --disable-shared --disable-multilib --disable-nls --prefix=/usr --with-sysroot=/
 +   make
 +   make DESTDIR=/path/for/staging install
 +
 +
  
 ** [[http://v3.sk/~lkundrak/dev86/|bin86 0.16.21]]** ** [[http://v3.sk/~lkundrak/dev86/|bin86 0.16.21]]**
Line 116: Line 157:
        
        
-** [[http://lilo.alioth.debian.org/|lilo 24.1]] **+** [[http://lilo.alioth.debian.org/|lilo 24.2]] ** 
 +See: https://bugs.gentoo.org/792567 
 +   wget http://snacklinux.geekness.eu/tars/patches/lilo-geometry.patch
    sed -i 's/CC=gcc/CC=musl-gcc -static/' src/Makefile    sed -i 's/CC=gcc/CC=musl-gcc -static/' src/Makefile
    #Remove glibc specific line    #Remove glibc specific line
    sed -i '185d' src/lilo.c    sed -i '185d' src/lilo.c
 +   patch -p1 < lilo-geometry.patch
    make alles    make alles
    cp src/lilo.static /staging/bin/lilo    cp src/lilo.static /staging/bin/lilo
Line 128: Line 172:
    make    make
    make DESTDIR=/path/to/staging install    make DESTDIR=/path/to/staging install
 +   #6.2
 +   #skip c++ checks
 +   export ac_cv_prog_CXX=false
 +   export ac_cv_prog_CXXCPP=false
 +   export ac_cv_prog_CXXCPP_FALSE=false
 +   export CXX="false"
 +   export CXXCPP="false"
 +   # fix install ownership
 +   sed -i '/checking if install needs to be told about ownership/,/esac/d' configure
 +   ./configure --prefix=/usr --without-cxx-binding --without-shared --with-normal --without-debug --enable-widec --with-ticlib --without-termlib --build=i486-musl-linux
 +   make -C ncurses
 +   # make symlink
 +   ln -s /usr/share/terminfo ncurses62_install_dir/lib/terminfo
        
        
Line 160: Line 217:
    make DESTDIR=/path/to/staging install     make DESTDIR=/path/to/staging install 
        
-** [[http://mama.indstate.edu/users/ice/tree/|tree 1.7.0]]** 
-   make CC="musl-gcc -static" 
-   make prefix=/path/to/staging install 
  
 ** [[http://www.zlib.net/|zlib 1.2.8]]** ** [[http://www.zlib.net/|zlib 1.2.8]]**
Line 193: Line 247:
    make DESTDIR=/path/to/staging install    make DESTDIR=/path/to/staging install
  
-** [[http://www.musl-libc.org/|musl 1.1.14]]** 
-   ./configure --prefix=/ --disable-shared 
-   CFLAGS=-static make 
-   make DESTDIR=/path/to/staging install  
  
 ** [[http://www.nano-editor.org/|nano 2.4.1]]** ** [[http://www.nano-editor.org/|nano 2.4.1]]**
Line 204: Line 254:
        
 ** [[http://bellard.org/tcc/|tcc 0.9.26]]** ** [[http://bellard.org/tcc/|tcc 0.9.26]]**
-Get this patch http://snacklinux.org/tars/patches/tcc-0.9.26.patch+Get this patch http://snacklinux.geekness.eu/tars/patches/tcc-0.9.26.patch
    patch -p1 -i ./tcc-0.9.26.patch    patch -p1 -i ./tcc-0.9.26.patch
    ./configure --cc=musl-gcc --extra-cflags=-static --prefix=/usr --strip-binaries    ./configure --cc=musl-gcc --extra-cflags=-static --prefix=/usr --strip-binaries
    make    make
    make DESTDIR=/path/to/staging install    make DESTDIR=/path/to/staging install
 +Note: you may have to symlink runtime libs:
 +   ln -sf /lib/crt1.o /usr/lib/crt1.o
 +   ln -sf /lib/crti.o /usr/lib/crti.o
 +   ln -sf /lib/crtn.o /usr/lib/crtn.o
        
 //Note: Use the '-static' flag in usage// //Note: Use the '-static' flag in usage//
Line 256: Line 310:
    readline           syslog     readline           syslog 
        
-**[[https://code.google.com/p/ucpp/|ucpp 1.3.2]]** ([[https://bitbucket.org/snacsnoc/ucpp|mirror]]) +  
-   make CC=gcc CFLAGS=-static LDFLAGS=-static +
-    +
-//Example usage: ln -s /usr/bin/ucpp /lib/cpp     +
  
 **[[http://www.gnu.org/software/tar/|tar 1.28]]** **[[http://www.gnu.org/software/tar/|tar 1.28]]**
 +<code>
    CFLAGS=-static LDFLAGS=-static CPPFLAGS="-I/include -I/usr/include" \    CFLAGS=-static LDFLAGS=-static CPPFLAGS="-I/include -I/usr/include" \
    ./configure --prefix=/usr    ./configure --prefix=/usr
    make    make
-   make DESTDIR=/path/to/staging install             +   make DESTDIR=/path/to/staging install    
 +   </code>           
 +    
 + **[[https://github.com/magicant/yash|yash 2.58.1]]** 
 +  ./configure --prefix=/usr --disable-nls 
 +  make CFLAGS="-std=c99 -D_GNU_SOURCE" 
 +  make DESTDIR=/path/to/staging install    
 +   
 +**[[https://e2fsprogs.sourceforge.net/|e2fsprogs-1.47.1]]** 
 +  ./configure --prefix=/usr CFLAGS="-static -s" 
 +  make 
 +  make install MAN1DIR= MAN5DIR= MAN8DIR= DESTDIR=/path/to/staging install    
 +   
 +**[[https://www.han.de/~werner/ytree.html|ytree-2.05]]** 
 +   CC=gcc make LDFLAGS="-L/usr/lib -lncursesw"   
 +    
 +**[[http://minkirri.apana.org.au/pub/linux/net/ne2000/atlantic.c|atlantic 0.00]]** 
 +    gcc -static -s atlantic.c -o atlantic