Compare commits

...

9 Commits
main ... stable

Author SHA1 Message Date
fda9153bf3 fix busybox 2023-10-16 12:34:19 -04:00
5f0287aacf working on fixing system packages ahead of 1.0 release 2023-10-16 12:28:00 -04:00
27c55f28a0 working on fixing system packages ahead of 1.0 release 2023-10-16 12:26:45 -04:00
9fe249861a finish musl package 2023-05-01 12:35:32 -04:00
8c5689b7c0 fix musl 2023-05-01 12:27:28 -04:00
4bb403a4b8 add musl 2023-05-01 12:23:07 -04:00
e989e8b7a3 overhaul 2023-04-28 14:06:30 -04:00
40cd23e4a7 Add README 2023-04-25 13:02:15 -04:00
a5115b87c5 add pm 2023-03-30 12:54:28 -04:00
13 changed files with 393 additions and 1 deletions

47
README Normal file
View File

@ -0,0 +1,47 @@
+--------------------------------+
| Everest Linux Package Database |
+--------------------------------+
Welcome to the Everest Linux Package Database. This repository contains
packages targeting "x86_64-linux-musl".
+---------------------+
| Using this database |
+---------------------+
On system images using musl as their standard C library, this database will ve
used out of the box.
If you need packages targeting "x86_64-linux-musl" on another system,
either append the following to Glacier:
GREPO="https://git.everestlinux.org/EverestLinux/epkgs-x86-musl/raw/branch/main
Or use glacier-mkprofile to change the system's profile.
+------------+
| Guidelines |
+------------+
General packaging guidelines:
- All packages must be linked statically.
- All metadata in a package file must be accurate.
- No uneccessary dependencies (ie. systemd, java, etc)
Musl-specific packaging guidelines:
- No packages should depend on Glibc
(list gcompat OR instruct users to run inside Glibc chroot)
+--------------------+
| Reporting packages |
+--------------------+
We strive to ensure all packages are safe, however, no system is without fault.
To report a package, email the maintainer of the databse.
For more urgent matters, email security@everestlinux.org.
+----------------------+
| Database information |
+----------------------+
Maintainer: Liam Waldron (liamwaldron@everestlinux.org)

View File

@ -16,7 +16,7 @@ SHA256SUMS="8189477777d400de69bec363ec3e405db545941edf319e8e14ce99605dcf620d"
# Dependency information
DEPENDS=("")
CONFLICTS=("")
CONFLICTS=("ecrypt-rtc")
# Source information
PACKAGE_SRC="https://git.everestlinux.org/EverestLinux/ecrypt"

View File

View File

View File

67
pm Normal file
View File

@ -0,0 +1,67 @@
#
# pm
#
# Package metadata
PACKAGE_NAME="pm"
PACKAGE_VER="1.0"
PACKAGE_DESC="Simple password manager"
MAINTAINER="liamwaldron@everestlinux.org"
LICENSE="GPL v3"
ARCH="x86"
INCLUDED_FILES=("/usr/bin/pm" "/etc/pm/entries")
# Integrity checking
SHA256SUMS="8189477777d400de69bec363ec3e405db545941edf319e8e14ce99605dcf620d"
# Dependency information
DEPENDS=("ecrypt")
CONFLICTS=("pm-rtc")
# Source information
PACKAGE_SRC="https://git.everestlinux.org/EverestLinux/pm"
SOURCES=("pm")
# Installation
getsource() {
git clone $PACKAGE_SRC
cd ${SOURCES}
}
buildpkg() {
make ${MAKEFLAGS} ${CFLAGS} ${CXXFLAGS} # these MUST be set
}
installpkg() {
make install
# Never install files to /bin, they will get
# overwritten when the user pulls a new update
}
installpkg_system() {
PREFIX="/" make install
}
removepkg() {
rm /usr/bin/pm
rm -rf /usr/share/man/man1/pm.1.gz
}
removepkg_system() {
rm /bin/pm
rm -rf /share/man/man1/pm.1.gz
}
updatepkg() {
buildpkg "$@"
installpkg "$@"
}
updatepkg_system() {
buildpkg "$@"
installpkg_system "$@"
}
#
# end pm
#

66
system/bash Normal file
View File

@ -0,0 +1,66 @@
#
# bash
#
# Package metadata
PACKAGE_NAME="bash"
PACKAGE_VER="5.2.015"
PACKAGE_DESC="GNU Bourne Again Shell"
MAINTAINER="liamwaldron@everestlinux.org"
LICENSE="GPL v3"
ARCH="x86"
INCLUDED_FILES=("/bin/bash")
# Integrity checking
SHA256SUMS="8b1079684f9aaf84de293771c78b83ff4b69588eeb34138ff331f26926dd1ae6"
# Dependency information
DEPENDS=("")
CONFLICTS=("")
# Source information
PACKAGE_SRC="https://github.com/robxu9/bash-static/releases/download/5.2.015-1.2.3-2/bash-linux-x86_64"
SOURCES="bash-linux-x86_64"
# Installation
getsource() {
wget $PACKAGE_SRC
}
buildpkg() {
chmod +x ${SOURCES}
}
installpkg() {
mkdir ${BLDR_OUT_DIR}/pkgs/bash
mv ${SOURCES} ${BLDR_OUT_DIR}/pkgs/bash/bash
touch ${BLDR_OUT_DIR}/pkgs/bash/.ispkg
}
installpkg_system() {
printf "Not supported for this package.\n"
exit 1
}
removepkg() {
rm -rf ${BLDR_OUT_DIR}/pkgs/bash
}
removepkg_system() {
printf "Not supported for this package.\n"
exit 1
}
updatepkg() {
buildpkg "$@"
installpkg "$@"
}
updatepkg_system() {
printf "Not supported for this package.\n"
exit 1
}
#
# end bash
#

72
system/busybox Normal file
View File

@ -0,0 +1,72 @@
#
# busybox
#
# Package metadata
PACKAGE_NAME="busybox"
PACKAGE_VER="1.36.0"
PACKAGE_DESC="Busybox embedded UNIX utilities"
MAINTAINER="liamwaldron@everestlinux.org"
LICENSE="GPL v2"
ARCH="x86"
INCLUDED_FILES=("/bin/busybox" "/linuxrc")
# Integrity checking
SHA256SUMS="2d60a4df73d14da518c3e8a7d51830c35918b54572029624ea4b86e8298fb528"
# Dependency information
DEPENDS=("")
CONFLICTS=("")
# Source information
PACKAGE_SRC="https://git.busybox.net/busybox"
SOURCES=("busybox-1.36.0")
# Installation
getsource() {
wget $PACKAGE_SRC
cd ${SOURCES[0]}
}
buildpkg() {
curl https://git.everestlinux.org/EverestLinux/sys-pkg-configs/raw/branch/main/config.busybox-1.36.0 -o .config
make ARCH="x86_64" CROSS_COMPILE="x86_64-linux-musl-" # these MUST be set
}
installpkg() {
make ARCH="x86_64" CROSS_COMPILE="x86_64-linux-musl-" \
CONFIG_PREFIX="${BLDR_OUT_DIR}/pkgs/busybox" install
cp -v examples/depmod.pl ${TOOLCHAIN_PATH}/bin
chmod -v 755 ${TOOLCHAIN_PATH}/bin/depmod.pl
touch ${BLDR_OUT_DIR}/pkgs/busybox/.ispkg
# Never install files to /bin, they will get
# overwritten when the user pulls a new update
}
installpkg_system() {
printf "Not supported for this package.\n"
exit 1
}
removepkg() {
rm -rf ${BLDR_OUT_DIR}/pkgs/busybox
}
removepkg_system() {
printf "Not supported for this package.\n"
exit 1
}
updatepkg() {
buildpkg "$@"
installpkg "$@"
}
updatepkg_system() {
printf "Not supported for this package.\n"
exit 1
}
#
# end busybox
#

70
system/musl Normal file
View File

@ -0,0 +1,70 @@
#
# musl
#
# Package metadata
PACKAGE_NAME="musl"
PACKAGE_VER="1.2.3"
PACKAGE_DESC="musl C library"
MAINTAINER="liamwaldron@everestlinux.org"
LICENSE="MIT"
ARCH="x86"
INCLUDED_FILES=("/include/*" "/lib/crt1.o" "/lib/crt1.o" "/lib/crtn.o" "/lib/libc.a" "/lib/libcrypt.a" "/lib/libc.so" "/lib/libdl.a" "/lib/libm.a" "/lib/libpthread.a" "/lib/libresolv.a" "/lib/librt.a" "/lib/libutil.a" "/lib/libxnet.a" "/lib/rcrt1.o" "/lib/Scrt1.o")
# Integrity checking
SHA256SUMS="6beb3edefdf9cb77dbf6ee17d89825abb69ce563860ab71e4bc9f2867ba7b5ea"
# Dependency information
DEPENDS=("")
CONFLICTS=("")
# Source information
PACKAGE_SRC="https://musl.libc.org/releases/musl-1.2.3.tar.gz"
SOURCES=("musl-1.2.3.tar.gz" "musl-1.2.3")
# Installation
getsource() {
wget $PACKAGE_SRC
tar xf ${SOURCES[0]}
cd ${SOURCES[1]}
}
buildpkg() {
./configure \
--prefix=${BLDR_OUT_DIR}/pkgs/musl \
--target="x86_64-linux-musl" \
CFLAGS="${CFLAGS}"
make ${MAKEFLAGS}
}
installpkg() {
make install ${MAKEFLAGS}
}
installpkg_system() {
printf "Not supported for this package.\n"
exit 1
}
removepkg() {
rm -rf ${BLDR_OUT_DIR}/pkgs/musl
}
removepkg_system() {
printf "Not supported for this package.\n"
exit 1
}
updatepkg() {
buildpkg "$@"
installpkg "$@"
}
updatepkg_system() {
printf "Not supported for this package.\n"
exit 1
}
#
# end nano
#

70
system/toolchain Normal file
View File

@ -0,0 +1,70 @@
#
# toolchain
#
# Package metadata
PACKAGE_NAME="toolchain"
PACKAGE_VER="1.0.0"
PACKAGE_DESC="Everest Linux system toolchain"
MAINTAINER="liamwaldron@everestlinux.org"
LICENSE="N/A"
ARCH="x86"
INCLUDED_FILES=("/bin/*" "/lib/*" "/include/*" "/libexec/*" "/share/*")
# Integrity checking
SHA256SUMS="a996907fc87e8c0d4603acd788c6009d1adeb3c99be99d07fc3df3256b52adfe"
# Dependency information
DEPENDS=("")
CONFLICTS=("")
# Source information
PACKAGE_SRC="https://musl.cc/x86_64-linux-musl-native.tgz"
SOURCES=("x86_64-linux-musl-native.tgz" "x86_64-linux-musl-native")
# Installation
getsource() {
wget $PACKAGE_SRC
tar xf ${SOURCES[0]}
}
buildpkg() {
printf "Installing toolchain...\n"
sleep 1
}
installpkg() {
mv -v ${SOURCES[1]} toolchain
mv -v toolchain ${BLDR_OUT_DIR}/pkgs
touch ${BLDR_OUT_DIR}/pkgs/toolchain/.ispkg
# Never install files to /bin, they will get
# overwritten when the user pulls a new update
}
installpkg_system() {
printf "Not supported for this package.\n"
exit 1
}
removepkg() {
rm -rf ${BLDR_OUT_DIR}/pkgs/toolchain
}
removepkg_system() {
printf "Not supported for this package.\n"
exit 1
}
updatepkg() {
buildpkg "$@"
installpkg "$@"
}
updatepkg_system() {
printf "Not supported for this package.\n"
exit 1
}
#
# end nano
#

View File

View File