diff --git a/app-misc/sablink-core/Manifest b/app-misc/sablink-core/Manifest new file mode 100644 index 0000000..4c69440 --- /dev/null +++ b/app-misc/sablink-core/Manifest @@ -0,0 +1,6 @@ +AUX 00-sabayon-anti-fork-bomb.conf 690 SHA256 80f397f12a746a73d48d90c010d6176c9e0661fbe118c770f97c165810caeee5 SHA512 da4c0ce2efacb3a420a73fc6ac533d17fef8e338bf6d3e784e52e49f1098504e985d4a24a96b4f67c1ceda45942c592423de3f5699cefd4aa148c23f5414acd3 WHIRLPOOL dc283b03fdd9acf8bb27c2904a40f94ebc5c45f81bd4f46c825fa5e999975d5663c25bf1d8226bb4b9e0c31791295dd75e0ef2ed3ed343defaf21557aba71d19 +AUX check.py 115 SHA256 e8ed197aef798b0656a5b242fd43f8ff913594b1c59d157360740630b3ab2048 SHA512 cfa3a99ca687c065c3a045418548c4ea96062074a7b727f5632e9cfddbc6acfdff81a0aa3ac1738801be044d02ba529e45f35d9867db52f1527f3c76423bf7dd WHIRLPOOL 40c2f49c8ca24dcdb27b3c0c3305b90262e3491918d31851ae7f12196038d6ee4b2175f121bafac31baa461cfb2370e770311dda5380b7c3f548c29d69c61a7e +AUX equo-update.cron 56 SHA256 daa3666087585aac025162ee78189c94c6d39662a56c3b7497f6789caabc9364 SHA512 071abc2530ca3842249459ec1996f0e378b6b73bb4d6f5b6daa1b5e92f37342f1eee3f00bc6b2da4f31777ecfc3bf89d034b2362216f38731645a55970a16e65 WHIRLPOOL 82cd89523f0d21c1177b5245bd9afa1f9396c938bf292f6dc80fe6402bcb5501e12f5ec0c81afbea156a85ee5041094a2cc0c35e797663926be9835974814b37 +AUX greeting.sh 1830 SHA256 92c6b5620c08c7868fda0e7fa7b003872aced5bb11681cf333494dbdc6c6526f SHA512 298d33a3c600c00bc46c54e31f7ec20c4ecca90da143a9b5abfed3aaef7c9d5664419d22b7ebb13ab8c1ba66d1329e114ead4d101093cdac8b20d116891f913e WHIRLPOOL 448d802524acfd01adb970d196b0dde3b777672250c1125632a5e7e68a788f4b0afd883035cff0629b43c6c395f603ae71ca9982df0f4fcc732f60f6519ad7cb +EBUILD sablink-core-0.ebuild 1604 SHA256 df7c7c587b7c0d2120afba99da42920a41707ac3a31f50dabe180409d7f897af SHA512 c56bf3fdb9906cec6a94021bb88509731606d59f47725839364b4d156e632e8eb3e048c237d69bb6b986aef3c9abb0b4efaa9dc6aa5b1bfd26c030f9a648d215 WHIRLPOOL 16120ff04e57e1972a63e8b1d17fd95fdffe10442bb718ed65439009e4ca473156f81f82a41a53aea476925456a1061725983055364612f33fdf4cab1c833559 +MISC metadata.xml 201 SHA256 56d6a20c3db8ae4e27afa0c395811020111e1093b58e2a6b4da6f4f3f0605d7e SHA512 a93eecbe1e2d614d3d8ebd418c7bb690221b889790f392c8a3d11f5d726955c53f9c8300c38b734bf0e0ceecb07bf901cbc25b9381d4417fd9b87ab3830279c3 WHIRLPOOL e68445633cbba9adfd423588892a44020aec6c1b2fe479c2c4d58a0dc3b48a011f0dcd681ccc01c204f85c7a33f7171760c12d3a0b5899d66bc97c44c91836ab diff --git a/app-misc/sablink-core/files/00-sabayon-anti-fork-bomb.conf b/app-misc/sablink-core/files/00-sabayon-anti-fork-bomb.conf new file mode 100644 index 0000000..4dcf561 --- /dev/null +++ b/app-misc/sablink-core/files/00-sabayon-anti-fork-bomb.conf @@ -0,0 +1,20 @@ +# 00-sabayon-anti-fork-bomb.conf +# +# This file estabilishes Sabayon Linux default process +# limits to defend the system against malicious or faulty +# code that could potentially make the system unusable by +# spawning an excessive amount of processes. +# +# The root account is not affected by process number +# limitations. This way a root console can always kill any +# offending process, but an offending root process could +# still block the system. +# +# Each line describes a limit for a user in the form: +# +# + +* soft nproc 1300 +* hard nproc 1800 +root - nproc infinity + diff --git a/app-misc/sablink-core/files/check.py b/app-misc/sablink-core/files/check.py new file mode 100644 index 0000000..5f1b8f4 --- /dev/null +++ b/app-misc/sablink-core/files/check.py @@ -0,0 +1,5 @@ +#!/usr/bin/python + +from entropy.client.interfaces import Client +cl = Client() +print(len(cl.calculate_updates()[0])) \ No newline at end of file diff --git a/app-misc/sablink-core/files/equo-update.cron b/app-misc/sablink-core/files/equo-update.cron new file mode 100644 index 0000000..baff10b --- /dev/null +++ b/app-misc/sablink-core/files/equo-update.cron @@ -0,0 +1,3 @@ +#!/bin/bash + +LC_ALL=en_US.UTF-8 equo update &> /dev/null \ No newline at end of file diff --git a/app-misc/sablink-core/files/greeting.sh b/app-misc/sablink-core/files/greeting.sh new file mode 100755 index 0000000..3c13828 --- /dev/null +++ b/app-misc/sablink-core/files/greeting.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +# asciiart genrator +# http://www.network-science.de/ascii/ Font big for SabLink + +#clear + +COLOUR_LOGO="31" +COLOUR_INFO1="32" +COLOUR_INFO2="31" +COLOUR_INFO3="37" + +echo '' +echo 'Hello, welcome to [1;'${COLOUR_INFO1}';40m'$(uname -n)', running' +echo '[0;'${COLOUR_LOGO}';40m _____ _ _ _ _ ' +echo '[0;'${COLOUR_LOGO}';40m / ____| | | | | (_) | | ' +echo '[0;'${COLOUR_LOGO}';40m| (___ __ _| |__ | | _ _ __ | | __' +echo '[0;'${COLOUR_LOGO}';40m \___ \ / _` | ´_ \| | | | ´_ \| |/ /' +echo '[0;'${COLOUR_LOGO}';40m ____) | (_| | |_) | |____| | | | | < ' +echo '[0;'${COLOUR_LOGO}';40m|_____/ \__,_|_.__/|______|_|_| |_|_|\_\' +echo '' + + +echo '[1;'${COLOUR_INFO2}';40m'$(uname -s)' '$(uname -m)' '$(uname -r)' (compiled [0;'${COLOUR_INFO3}';40m'$(uname -v)')' +echo '' +echo 'Processor : [0;'${COLOUR_INFO1}';40m'$(cat /proc/cpuinfo | grep -i 'Processor' | cut -c 13-50 )'' +echo 'BogoMIPS : [0;'${COLOUR_INFO1}';40m'$(cat /proc/cpuinfo | grep -i 'BogoMIPS' | cut -c 12-50 | tr -d ' ')'' +echo 'RAM : [0;'${COLOUR_INFO1}';40m'$(free -m | grep -i 'Mem:' | cut -c 13-20)'[0;'${COLOUR_INFO3}';40mMB' +echo 'Swap : [0;'${COLOUR_INFO1}';40m'$(free -m | grep -i 'Swap:' | cut -c 15-20)'[0;'${COLOUR_INFO3}';40mMB' +echo 'Uptime : [0;'${COLOUR_INFO3}';40m'$(uptime | cut -c 2-60)'' +echo 'Logged on as : [0;'${COLOUR_INFO1}';40m'$(whoami)' on [0;'${COLOUR_INFO1}';40m'$(tty)'[0;'${COLOUR_INFO3}';40m since [0;'${COLOUR_INFO1}';40m'$(date)'' +echo 'Users logged in : [0;'${COLOUR_INFO1}';40m'$(who -q | more +1)'' +echo '' +echo 'Package updates : [0;'${COLOUR_INFO1}';40m'$(sablink-equo-check)' available updates' +echo '' diff --git a/app-misc/sablink-core/metadata.xml b/app-misc/sablink-core/metadata.xml new file mode 100644 index 0000000..1b54da9 --- /dev/null +++ b/app-misc/sablink-core/metadata.xml @@ -0,0 +1,5 @@ + + + +mario.fetka@gmail.com + diff --git a/app-misc/sablink-core/sablink-core-0.ebuild b/app-misc/sablink-core/sablink-core-0.ebuild new file mode 100644 index 0000000..ddb04cf --- /dev/null +++ b/app-misc/sablink-core/sablink-core-0.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=3 + +DESCRIPTION="SabLink System Release files package" +HOMEPAGE="http://sablink.disconnected-by-peer.at/" +SRC_URI="" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86" + +IUSE="" +DEPEND="" +# Listing default packages for the current release +RDEPEND="app-admin/eselect-python + dev-lang/python:2.7 + sys-devel/base-gcc:4.6 + sys-devel/gcc-config + app-admin/update-motd + virtual/cron + app-admin/equo" + +SABLINK_VER="${PV}" +SABLINK_HEADER="SabLink Linux" +SABLINK_RELEASE="sablink-release" + +src_unpack() { + if use x86; then + echo "${SABLINK_HEADER} x86 ${SABLINK_VER}" > "${SABLINK_RELEASE}" + elif use arm; then + echo "${SABLINK_HEADER} ${CHOST/-*/} ${SABLINK_VER}" > "${SABLINK_RELEASE}" + else + echo "${SABLINK_HEADER} amd64 ${SABLINK_VER}" > "${SABLINK_RELEASE}" + fi +} + +src_install() { + # install relesae file + insinto /etc + doins "${SABLINK_RELEASE}" + dosym /etc/"${SABLINK_RELEASE}" /etc/system-release + + # install equo update cron + exeinto /etc/cron.daily + doexe "${FILESDIR}/equo-update.cron" + + # Bug 3459 - reduce the risk of fork bombs + insinto /etc/security/limits.d + newins "${FILESDIR}/00-sabayon-anti-fork-bomb.conf" 00-sablink-anti-fork-bomb.conf + + # install sablink greeting + exeinto /etc/update-motd.d + newexe "${FILESDIR}/greeting.sh" 20-greeting + + # install the check for updates script + newbin "${FILESDIR}/check.py" sablink-equo-check +} + +pkg_postinst() { + # Setup Python 2.7 + eselect python update --ignore 3.0 --ignore 3.1 --ignore 3.2 --ignore 3.3 --ignore 3.4 +}