baselayout calculate-utils dbus hdparm memtest86+ openrc portage sandbox shadow sysvinitmaster
parent
67e9cc450a
commit
46c429147f
@ -0,0 +1 @@
|
|||||||
|
{% calculate append = 'skip' %}
|
@ -0,0 +1 @@
|
|||||||
|
{% calculate name='etc', package='sys-apps/baselayout' %}
|
@ -0,0 +1,8 @@
|
|||||||
|
{% calculate format='regex' %}
|
||||||
|
<reg>(# 'mount -t auto' command.
|
||||||
|
#
|
||||||
|
)
|
||||||
|
</reg>
|
||||||
|
<text>\1ntfs-3g
|
||||||
|
|
||||||
|
</text>
|
@ -0,0 +1,5 @@
|
|||||||
|
{% if install.os.linux.subname %}
|
||||||
|
{{ install.os.linux.name }} {{ install.os.linux.ver }} {{ install.os.linux.subname }}
|
||||||
|
{% else %}
|
||||||
|
{{ install.os.linux.name }} {{ install.os.linux.ver }}
|
||||||
|
{% endif %}
|
@ -0,0 +1,6 @@
|
|||||||
|
|
||||||
|
{% if install.os.linux.subname %}
|
||||||
|
Welcome to \n.\O ({{ install.os.linux.name }} {{ install.os.linux.ver }} {{ install.os.linux.subname }})
|
||||||
|
{% else %}
|
||||||
|
Welcome to \n.\O ({{ install.os.linux.name }} {{ install.os.linux.ver }})
|
||||||
|
{% endif %}
|
@ -0,0 +1,8 @@
|
|||||||
|
{% calculate format='openrc' %}
|
||||||
|
NAME=Calculate
|
||||||
|
ID=calculate
|
||||||
|
PRETTY_NAME="Calculate/Linux"
|
||||||
|
ANSI_COLOR="1;32"
|
||||||
|
HOME_URL="http://www.calculate-linux.org"
|
||||||
|
SUPPORT_URL="http://www.calculate-linux.org/main/en/community"
|
||||||
|
BUG_REPORT_URL="http://www.calculate-linux.org/projects/calculatelinux/issues"
|
@ -0,0 +1,6 @@
|
|||||||
|
{% calculte format='procmail' %}
|
||||||
|
# IssueID 848
|
||||||
|
{% if not os.subsystem }}
|
||||||
|
vm.dirty_background_ratio = 1
|
||||||
|
vm.dirty_ratio = 3
|
||||||
|
{% endif %}
|
@ -0,0 +1 @@
|
|||||||
|
{% calculate append='skip', package='sys-apps/calculate-utils' %}
|
@ -0,0 +1 @@
|
|||||||
|
{% calculate path='/etc/runlevels' %}
|
@ -0,0 +1,2 @@
|
|||||||
|
{% calculate append="link", source="/etc/init.d/zram", custom.runlevels.zram != 'on' or grep('var/lib/calculate/-runlevels-calculate-utils','/zram') %}
|
||||||
|
{% save.system custom.runlevels.zram = "on" %}
|
@ -0,0 +1 @@
|
|||||||
|
{% calculate path='/usr/share/calculate', name='xdm', pkg('sys-apps/calculate-utils[desktop]') %}
|
@ -0,0 +1,3 @@
|
|||||||
|
{% calculate format='regex', multiline %}
|
||||||
|
<reg>local bg_color=.*$</reg>
|
||||||
|
<text>local bg_color="{{ custom.theme.dm.splash.color }}"</text>
|
@ -0,0 +1,3 @@
|
|||||||
|
{% calculate format='regex', multiline %}
|
||||||
|
<reg>local bg_color=.*$</reg>
|
||||||
|
<text>local bg_color="{{ custom.theme.dm.splash.color }}"</text>
|
@ -0,0 +1 @@
|
|||||||
|
{% calculate path='/var/lib/calculate' %}
|
@ -0,0 +1,5 @@
|
|||||||
|
{% calculate comment='#', path='/usr/share/portage/config/sets' %}
|
||||||
|
|
||||||
|
[autodeps]
|
||||||
|
class = portage.sets.shell.CommandOutputSet
|
||||||
|
command = cat /var/db/pkg/*/*/autodeps 2>/dev/null | sort | uniq
|
@ -0,0 +1 @@
|
|||||||
|
{% calculate path='/etc', name='conf.d', install.os.container.type == 'desktop' and pkg('sys-apps/calculate-utils[client]') %}
|
@ -0,0 +1,3 @@
|
|||||||
|
{% calculate comment='#' %}
|
||||||
|
|
||||||
|
rc_keyword="!-lxc"
|
@ -0,0 +1 @@
|
|||||||
|
{% calculate path='/etc' %}
|
@ -0,0 +1,15 @@
|
|||||||
|
{% calculate not exists('/etc/conf.d/zram'), unbound %}
|
||||||
|
# Compression algorithm for zram disk
|
||||||
|
COMPRESSION="zstd"
|
||||||
|
|
||||||
|
# Zram disk size in percent of RAM or absolute value with suffix (K,M,G)
|
||||||
|
DISKSIZE="200%"
|
||||||
|
|
||||||
|
# Start zram swap disk
|
||||||
|
# swapless - start only for swapless system
|
||||||
|
# always - start anyway
|
||||||
|
{% if main.cl.chroot_status %}
|
||||||
|
START="always"
|
||||||
|
{% else %}
|
||||||
|
START="swapless"
|
||||||
|
{% endif %}
|
@ -0,0 +1 @@
|
|||||||
|
# Calculate path=/etc
|
@ -0,0 +1,59 @@
|
|||||||
|
# Calculate chmod=0755
|
||||||
|
#!/sbin/openrc-run
|
||||||
|
# Copyright 2020 Mir Calculate. http://www.calculate-linux.org
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
depend()
|
||||||
|
{
|
||||||
|
after clock root swap
|
||||||
|
before localmount
|
||||||
|
keyword -docker -jail -lxc -openvz -prefix -systemd-nspawn -vserver
|
||||||
|
}
|
||||||
|
|
||||||
|
start()
|
||||||
|
{
|
||||||
|
[[ -d /sys/block/zram0 ]] || modprobe zram
|
||||||
|
if [[ -d /sys/block/zram0 ]]
|
||||||
|
then
|
||||||
|
if [[ $START == "always" ]] || [[ -z $(swapon --noheading) ]]
|
||||||
|
then
|
||||||
|
ebegin "Activating zram swap devices"
|
||||||
|
local disksize;
|
||||||
|
echo ${COMPRESSION:-zstd} >/sys/block/zram0/comp_algorithm
|
||||||
|
if [[ ${DISKSIZE:-200%} =~ ^([0-9]+)%$ ]]
|
||||||
|
then
|
||||||
|
local perc="${BASH_REMATCH[1]}"
|
||||||
|
local memorysize="$(free -b | awk '{if ($1 == "Mem:") {print $2}}')"
|
||||||
|
disksize="$(( $memorysize * $perc / 100 ))"
|
||||||
|
else
|
||||||
|
disksize="${DISKSIZE}"
|
||||||
|
fi
|
||||||
|
echo $disksize >/sys/block/zram0/disksize
|
||||||
|
mkswap -L zramswap /dev/zram0
|
||||||
|
swapon -p 100 /dev/zram0 &>/dev/null
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
eend 0 # If swapon has nothing todo it errors, so always return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
stop()
|
||||||
|
{
|
||||||
|
if [[ ${RC_RUNLEVEL} != "shutdown" ]] && [[ -n $(swapon --noheading | grep /dev/zram0) ]]
|
||||||
|
then
|
||||||
|
ebegin "Deactivating zram swap devices"
|
||||||
|
swapoff /dev/zram0 &>/dev/null
|
||||||
|
echo 1 >/sys/block/zram0/reset
|
||||||
|
fi
|
||||||
|
eend 0
|
||||||
|
}
|
@ -0,0 +1,11 @@
|
|||||||
|
{% calculate format='kde', path='/usr/share/dbus-1/system-services' %}
|
||||||
|
[D-BUS Service]
|
||||||
|
Name=org.calculate.Core
|
||||||
|
{% for pyver in ('3_6', '3_7', '3_8', '3_9') %}
|
||||||
|
{% set ptarget = 'python_targets_python_' + pyver|replace('.','_') %}
|
||||||
|
{% set python_interpreter = '/usr/bin/python' + pyver %}
|
||||||
|
{% if pkg('dev-python/pygobject[%s]' % ptarget) and pkg('dev-python/dbus-python[%s]' % ptarget) %}
|
||||||
|
Exec={{ python_interpreter }} /usr/libexec/calculate/cl-dbus-core.py
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
User=root
|
@ -0,0 +1 @@
|
|||||||
|
{% calculate path='/var/lib/calculate' %}
|
@ -0,0 +1,37 @@
|
|||||||
|
{% calculate comment='#', unbound %}
|
||||||
|
# vim: set syntax=sh
|
||||||
|
#
|
||||||
|
# Copyright 2015 Calculate Ltd. http://www.calculate-linux.org
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
|
||||||
|
update_cache() {
|
||||||
|
[[ -x /usr/libexec/calculate/cl-pkg-cache ]] &&
|
||||||
|
/usr/libexec/calculate/cl-pkg-cache
|
||||||
|
}
|
||||||
|
|
||||||
|
calculate_configurable_package() {
|
||||||
|
! [[ -f /var/lib/calculate/calculate-core/cache/merge-setup.list ]] ||
|
||||||
|
grep ${CATEGORY}/${PN} /var/lib/calculate/calculate-core/cache/merge-setup.list &>/dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
if [[ ${EBUILD_PHASE} == "setup" ]]
|
||||||
|
then
|
||||||
|
if tail -5 /var/log/emerge.log | grep -P "\(1 of.*${CATEGORY}/${P}" &>/dev/null
|
||||||
|
then
|
||||||
|
update_cache
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ${EBUILD_PHASE} == "postrm" ]]
|
||||||
|
then
|
||||||
|
if tail -2 /var/log/emerge.log | grep "*** emerge " &>/dev/null
|
||||||
|
then
|
||||||
|
update_cache
|
||||||
|
fi
|
||||||
|
fi
|
@ -0,0 +1,28 @@
|
|||||||
|
{% calculate comment='#', unbound %}
|
||||||
|
# vim: set syntax=sh
|
||||||
|
#
|
||||||
|
# Copyright 2020 Calculate Ltd. http://www.calculate-linux.org
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
calculate_lockfile=/var/calculate/tmp/portage/$CATEGORY/.$PN.calculate_lockfile
|
||||||
|
|
||||||
|
calculate_lock_setup() {
|
||||||
|
if calculate_configurable_package
|
||||||
|
then
|
||||||
|
flock -x -w 120 $calculate_lockfile true
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
calculate_unlock_setup() {
|
||||||
|
if calculate_configurable_package
|
||||||
|
then
|
||||||
|
rm $calculate_lockfile
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
[[ $EBUILD_PHASE == "instprep" ]] && calculate_lock_setup
|
@ -0,0 +1,15 @@
|
|||||||
|
{% calculate comment='#', unbound %}
|
||||||
|
# vim: set syntax=sh
|
||||||
|
#
|
||||||
|
# Copyright 2014 Calculate Ltd. http://www.calculate-linux.org
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
if [[ ${CATEGORY}/${PN} == "sys-auth/nss_ldap" ]] && [[ ${EBUILD_PHASE} == "preinst" ]]
|
||||||
|
then
|
||||||
|
mv ${D}/etc/ldap.conf ${D}/etc/ldap.conf.example &>/dev/null
|
||||||
|
fi
|
@ -0,0 +1,22 @@
|
|||||||
|
{% calculate comment='#', unbound %}
|
||||||
|
# vim: set syntax=sh
|
||||||
|
#
|
||||||
|
# Copyright 2020 Calculate Ltd. http://www.calculate-linux.org
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
if [[ -d ${D}/lib/modules ]] && [[ ${EBUILD_PHASE} == "preinst" ]]
|
||||||
|
then
|
||||||
|
if linux_chkconfig_builtin MODULE_COMPRESS_ZSTD
|
||||||
|
then
|
||||||
|
find ${D}/lib/modules -name "*.ko" -exec zstd --rm {} \;
|
||||||
|
fi
|
||||||
|
if linux_chkconfig_builtin MODULE_COMPRESS_XZ
|
||||||
|
then
|
||||||
|
find ${D}/lib/modules -name "*.ko" -exec xz {} \;
|
||||||
|
fi
|
||||||
|
fi
|
@ -0,0 +1,25 @@
|
|||||||
|
# Calculate comment=# protected
|
||||||
|
# vim: set syntax=sh
|
||||||
|
#
|
||||||
|
# Copyright 2014 Calculate Ltd. http://www.calculate-linux.org
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
|
||||||
|
check_skip() {
|
||||||
|
declare -A SKIPPKGS=(
|
||||||
|
["calculate-install"]="1"
|
||||||
|
["calculate-lib"]="1"
|
||||||
|
["calculate-console"]="1"
|
||||||
|
["calculate-console-gui"]="1"
|
||||||
|
["calculate-core"]="1"
|
||||||
|
["calculate-desktop"]="1"
|
||||||
|
["calculate-client"]="1"
|
||||||
|
["calculate-update"]="1" )
|
||||||
|
|
||||||
|
[[ -z ${SKIPPKGS[$PN]} ]]
|
||||||
|
}
|
@ -0,0 +1,18 @@
|
|||||||
|
{% calculate comment='#', unbound %}
|
||||||
|
# vim: set syntax=sh
|
||||||
|
#
|
||||||
|
# Copyright 2019 Calculate Ltd. http://www.calculate-linux.org
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
CL_CONFIG=/usr/bin/cl-config
|
||||||
|
|
||||||
|
post_pkg_config() {
|
||||||
|
[ -f ${CL_CONFIG} ] && ${CL_CONFIG} --no-progress --pkg-version ${PVR} \
|
||||||
|
--pkg-slot ${SLOT/\/*} --pkg-category ${CATEGORY} \
|
||||||
|
--pkg-name ${PN} --verbose
|
||||||
|
}
|
@ -0,0 +1,30 @@
|
|||||||
|
{% calculate comment='#', unbound %}
|
||||||
|
# vim: set syntax=sh
|
||||||
|
#
|
||||||
|
# Copyright 2014-2015 Calculate Ltd. http://www.calculate-linux.org
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
CL_CORE_PATCH=/usr/bin/cl-core-patch
|
||||||
|
[[ -f $CL_CORE_PATCH ]] || CL_CORE_PATCH=/usr/sbin/cl-core-patch
|
||||||
|
|
||||||
|
if [[ ${EBUILD_PHASE} == "compile" ]] && [[ -d ${S} ]] && check_skip; then
|
||||||
|
if ! [[ -f /var/lib/calculate/calculate-core/cache/merge-patch.list ]] ||
|
||||||
|
grep ${CATEGORY}/${PN} /var/lib/calculate/calculate-core/cache/merge-patch.list &>/dev/null
|
||||||
|
then
|
||||||
|
[ -f ${CL_CORE_PATCH} ] && ${CL_CORE_PATCH} --no-progress --pkg-version ${PVR} \
|
||||||
|
--pkg-slot ${SLOT/\/*} --pkg-category ${CATEGORY} \
|
||||||
|
--pkg-path ${S} --pkg-name ${PN} --verbose
|
||||||
|
if [[ $? -eq 2 ]]
|
||||||
|
then
|
||||||
|
if /usr/libexec/calculate/cl-variable --value main.cl_template_wrong_patch | grep break &>/dev/null
|
||||||
|
then
|
||||||
|
die "Failed to apply Calculate utilities patch"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
@ -0,0 +1,108 @@
|
|||||||
|
{% calculate comment='#', unbound %}
|
||||||
|
# vim: set syntax=sh
|
||||||
|
#
|
||||||
|
# Copyright 2014-2015 Calculate Ltd. http://www.calculate-linux.org
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
CL_UPDATE_PROG=/usr/sbin/cl-core
|
||||||
|
RUN_CORE="/usr/bin/python2 ${CL_UPDATE_PROG}"
|
||||||
|
CORE_METHOD="--method core_setup"
|
||||||
|
|
||||||
|
post_setup_package() {
|
||||||
|
local remove_dir_list=""
|
||||||
|
if [ -f ${CL_UPDATE_PROG} ] && [[ $PN == "calculate-utils" ]] && [[ -f /var/lib/calculate/calculate-core/setup-failed.list ]]
|
||||||
|
then
|
||||||
|
while read category pkgname mypvr myslot;do
|
||||||
|
if [[ -n $category ]]
|
||||||
|
then
|
||||||
|
pkg_lockfile_dir=/var/calculate/tmp/portage/$category
|
||||||
|
pkg_lockfile="$pkg_lockfile_dir"/.${pkgname}.calculate_lockfile
|
||||||
|
if ! [[ -d $pkg_lockfile_dir ]]
|
||||||
|
then
|
||||||
|
mkdir -p $pkg_lockfile_dir
|
||||||
|
remove_dir_list="$remove_dir_list $pkg_lockfile_dir"
|
||||||
|
fi
|
||||||
|
(
|
||||||
|
flock -x -w 1 73 || exit 1;
|
||||||
|
fuser /var/db/pkg/$category/.${pkgname}*.portage_lockfile &>/dev/null || CTARGET=${CTARGET} GCC_CONFIG_VER=${GCC_CONFIG_VER} ${RUN_CORE} ${CORE_METHOD} --no-progress --pkg-name $pkgname --pkg-category $category --pkg-slot $myslot --pkg-version $mypvr --pkg-path "/";
|
||||||
|
rm -f /var/lib/calculate/-runlevels-$pkgname
|
||||||
|
rm $pkg_lockfile
|
||||||
|
) 73>$pkg_lockfile
|
||||||
|
fi
|
||||||
|
done </var/lib/calculate/calculate-core/setup-failed.list
|
||||||
|
rm -f /var/lib/calculate/calculate-core/setup-failed.list
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f ${CL_UPDATE_PROG} ] && [[ -f /var/lib/calculate/-postmerge ]] && check_skip
|
||||||
|
then
|
||||||
|
OLDIFS=$IFS
|
||||||
|
IFS=/
|
||||||
|
while read category pkgname;do
|
||||||
|
[ -d /var/db/pkg/${category}/${pkgname}-* ] || continue
|
||||||
|
IFS=$OLDIFS
|
||||||
|
if ! [[ -f /var/lib/calculate/calculate-core/cache/merge-setup.list ]] ||
|
||||||
|
grep ${category}/${pkgname} /var/lib/calculate/calculate-core/cache/merge-setup.list &>/dev/null
|
||||||
|
then
|
||||||
|
pkg_lockfile_dir=/var/calculate/tmp/portage/$category
|
||||||
|
pkg_lockfile="$pkg_lockfile_dir"/.${pkgname}.calculate_lockfile
|
||||||
|
if ! [[ -d $pkg_lockfile_dir ]]
|
||||||
|
then
|
||||||
|
mkdir -p $pkg_lockfile_dir
|
||||||
|
remove_dir_list="$remove_dir_list $pkg_lockfile_dir"
|
||||||
|
fi
|
||||||
|
(
|
||||||
|
flock -x -w 1 73 || exit 1;
|
||||||
|
fuser /var/db/pkg/$category/.${pkgname}*.portage_lockfile &>/dev/null || CTARGET=${CTARGET} GCC_CONFIG_VER=${GCC_CONFIG_VER} ${RUN_CORE} ${CORE_METHOD} --no-progress --pkg-name $pkgname --pkg-category $category --pkg-path "/";
|
||||||
|
rm $pkg_lockfile
|
||||||
|
) 73>$pkg_lockfile
|
||||||
|
fi
|
||||||
|
IFS=/
|
||||||
|
done < <(awk '!x[$0]++' /var/lib/calculate/-postmerge)
|
||||||
|
IFS=$OLDIFS
|
||||||
|
fi
|
||||||
|
rm -f /var/lib/calculate/-postmerge
|
||||||
|
[[ -n $remove_dir_list ]] && rmdir $remove_dir_list
|
||||||
|
}
|
||||||
|
|
||||||
|
fix_kernel_symlink() {
|
||||||
|
# restore kernel symlink to preferred by cl_install_kernel_build variable
|
||||||
|
local kernel_build=$(/usr/libexec/calculate/cl-variable --value install.cl_install_kernel_build 2>/dev/null)
|
||||||
|
if [[ $? -ne 1 ]] && [[ -n $kernel_build ]] && [[ -L /usr/src/linux ]]
|
||||||
|
then
|
||||||
|
[[ "$kernel_build" =~ ^[0-9]+\.[0-9]+$ ]] && kernel_build="${kernel_build}."
|
||||||
|
last_kernel="$(ls -1d /usr/src/linux-${kernel_build}* | sed 's/.*linux-//' | sort -V | tail -1)"
|
||||||
|
if [[ -n $last_kernel ]]
|
||||||
|
then
|
||||||
|
if [[ "$(readlink /usr/src/linux)" != "linux-${last_kernel}" ]]
|
||||||
|
then
|
||||||
|
rm /usr/src/linux
|
||||||
|
ln -sf linux-${last_kernel} /usr/src/linux
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
clean_binary_bdepends() {
|
||||||
|
local bdeps=$(/usr/libexec/calculate/cl-variable --value update.cl_update_with_bdeps_set 2>/dev/null)
|
||||||
|
local _instmark=/var/db/pkg/$CATEGORY/$PF/EMERGE_FROM
|
||||||
|
echo -n $EMERGE_FROM >$_instmark
|
||||||
|
|
||||||
|
if [[ $EMERGE_FROM == binary ]] && [[ $bdeps == auto ]]
|
||||||
|
then
|
||||||
|
local _bdep=/var/db/pkg/$CATEGORY/$PF/BDEPEND
|
||||||
|
local _dep=/var/db/pkg/$CATEGORY/$PF/DEPEND
|
||||||
|
[[ -f $_bdep ]] && mv $_bdep $_bdep.binary
|
||||||
|
[[ -f $_dep ]] && mv $_dep $_dep.binary
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
post_pkg_postinst() {
|
||||||
|
[[ "$PN" == "calculate-sources" ]] && fix_kernel_symlink
|
||||||
|
post_setup_package
|
||||||
|
calculate_unlock_setup
|
||||||
|
clean_binary_bdepends
|
||||||
|
}
|
@ -0,0 +1,74 @@
|
|||||||
|
{% calculate comment='#', pkg('sys-apps/calculate-server'), unbound %}
|
||||||
|
# vim: set syntax=sh
|
||||||
|
#
|
||||||
|
# Copyright 2014 Calculate Ltd. http://www.calculate-linux.org
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# added for calculate server 2.2
|
||||||
|
# FUNC: change_permissions
|
||||||
|
# DESC: change permissions for all files and directories into specified
|
||||||
|
change_permissions() {
|
||||||
|
local directory=$1
|
||||||
|
[[ -d $1 ]] || return
|
||||||
|
|
||||||
|
local out="$(getfacl $directory 2>/dev/null)"
|
||||||
|
if ! (grep -q default:user:900:rwx <<<$out && grep -q ^user:900:rwx <<<$out)
|
||||||
|
then
|
||||||
|
setfacl -R -m d:u:900:rwx,u:900:rwx $directory
|
||||||
|
fi
|
||||||
|
|
||||||
|
addwrite ${directory}
|
||||||
|
# get owner from parent directory
|
||||||
|
local diruid=$(stat -c"%u" ${directory})
|
||||||
|
local dirgid=$(stat -c"%g" ${directory})
|
||||||
|
local dirowner="${diruid}:${dirgid}"
|
||||||
|
# get permissions from parent directory
|
||||||
|
local dirmode=0$(stat -c%a ${directory})
|
||||||
|
|
||||||
|
# turnoff execute for all (permission for files in parent directory)
|
||||||
|
if type bc &>/dev/null;
|
||||||
|
then
|
||||||
|
local filemode=0$(echo "obase=8;$(( $dirmode & 0666 ))" | bc)
|
||||||
|
elif type printf &>/dev/null;
|
||||||
|
then
|
||||||
|
local filemode=$(printf "0%o" $(( $dirmode & 0666 )) )
|
||||||
|
else
|
||||||
|
local filemode=
|
||||||
|
fi
|
||||||
|
# set for all files and directories dirowner
|
||||||
|
find ${directory} \! -uid ${diruid} -o \! -gid ${dirgid} -exec chown ${dirowner} {} \;
|
||||||
|
# set permissions for all directories in parent directory
|
||||||
|
find ${directory} \! -perm ${dirmode} -type d -exec chmod ${dirmode} {} \;
|
||||||
|
if [[ -n $filemode ]]
|
||||||
|
then
|
||||||
|
# set permissions for all files in parent directory
|
||||||
|
find ${directory} \! -perm ${filemode} -type f -exec chmod ${filemode} {} \;
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# system has "remote" share
|
||||||
|
if grep "\[remote\]" /etc/samba/smb.conf &>/dev/null
|
||||||
|
then
|
||||||
|
pre_pkg_preinst() {
|
||||||
|
einfo "Performing permissions change for packages directory"
|
||||||
|
change_permissions ${PKGDIR}
|
||||||
|
}
|
||||||
|
|
||||||
|
post_src_unpack() {
|
||||||
|
einfo "Performing permissions change for distdir directory"
|
||||||
|
change_permissions ${PORTAGE_ACTUAL_DISTDIR}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
post_src_unpack() {
|
||||||
|
:
|
||||||
|
}
|
||||||
|
|
||||||
|
pre_pkg_preinst() {
|
||||||
|
:
|
||||||
|
}
|
||||||
|
fi
|
@ -0,0 +1,93 @@
|
|||||||
|
{% calculate comment='#', pkg('sys-apps/calculate-server'), unbound %}
|
||||||
|
# vim: set syntax=sh
|
||||||
|
#
|
||||||
|
# Copyright 2016 Calculate Ltd. http://www.calculate-linux.org
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
# added for calculate server 2.2
|
||||||
|
# FUNC: protect_server_files
|
||||||
|
# DESC: protect server changed files from rewrite
|
||||||
|
|
||||||
|
protect_server_files() {
|
||||||
|
local protected_files=(
|
||||||
|
"/etc/bind/named.conf"
|
||||||
|
"/etc/conf.d/sortmilter"
|
||||||
|
"/etc/dhcp/dhcpd.conf"
|
||||||
|
"/etc/dhcp/dhcp.ldap"
|
||||||
|
"/etc/dovecot/conf.d/10-auth.conf"
|
||||||
|
"/etc/dovecot/conf.d/10-logging.conf"
|
||||||
|
"/etc/dovecot/conf.d/10-mail.conf"
|
||||||
|
"/etc/dovecot/conf.d/10-master.conf"
|
||||||
|
"/etc/dovecot/conf.d/auth-ldap.conf.ext"
|
||||||
|
"/etc/dovecot/conf.d/auth-system.conf.ext"
|
||||||
|
"/etc/openldap/slapd.conf"
|
||||||
|
"/etc/dovecot/dovecot.conf"
|
||||||
|
"/etc/dovecot/dovecot-ldap.conf"
|
||||||
|
"/etc/jabber/ejabberd.cfg"
|
||||||
|
"/etc/jabber/ejabberd.yml"
|
||||||
|
"/etc/openldap/schema/dnszone.schema"
|
||||||
|
"/etc/openldap/schema/mail.schema"
|
||||||
|
"/etc/postfix/ldap-aliases.cf"
|
||||||
|
"/etc/postfix/ldap-aliases-gr.cf"
|
||||||
|
"/etc/postfix/ldap-aliases-repl.cf"
|
||||||
|
"/etc/postfix/ldap-recipient.cf"
|
||||||
|
"/etc/postfix/ldap-recipient-gr.cf"
|
||||||
|
"/etc/postfix/ldap-recipient-repl.cf"
|
||||||
|
"/etc/postfix/main.cf"
|
||||||
|
"/etc/procmailrc"
|
||||||
|
"/etc/proftpd/proftpd.conf"
|
||||||
|
"/etc/samba/smb.conf"
|
||||||
|
"/etc/squid/squid.conf"
|
||||||
|
"/etc/squid/squid.ldap"
|
||||||
|
)
|
||||||
|
local packages=(
|
||||||
|
"net-ftp/proftpd"
|
||||||
|
"net-fs/samba"
|
||||||
|
"net-mail/dovecot"
|
||||||
|
"net-misc/dhcp"
|
||||||
|
"net-dns/bind"
|
||||||
|
"mail-filter/procmail"
|
||||||
|
"net-im/ejabberd"
|
||||||
|
"mail-mta/postfix"
|
||||||
|
"net-nds/openldap"
|
||||||
|
"net-proxy/squid"
|
||||||
|
)
|
||||||
|
local install_pkg="${CATEGORY}/${PN}"
|
||||||
|
for pkg in ${packages[@]}
|
||||||
|
do
|
||||||
|
if [[ $pkg == $install_pkg ]]
|
||||||
|
then
|
||||||
|
for fn in ${protected_files[@]}
|
||||||
|
do
|
||||||
|
if [[ -f ${D}/$fn ]]
|
||||||
|
then
|
||||||
|
if [[ "$fn" == "/etc/openldap/slapd.conf" ]] && [[ $pkg == "net-nds/openldap" ]]
|
||||||
|
then
|
||||||
|
if [[ -f $fn ]]
|
||||||
|
then
|
||||||
|
contmd5="$(cat /var/db/pkg/net-nds/openldap-*/CONTENTS | grep " /etc/openldap/slapd.conf " | awk '{print $3}')"
|
||||||
|
curmd5="$(md5sum $fn | awk '{print $1}')"
|
||||||
|
if [[ $contmd5 != $curmd5 ]]
|
||||||
|
then
|
||||||
|
mv -- "${D}/$fn" "${D}/${fn}.origin"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
cp -- "${D}/$fn" "${D}/${fn}.origin"
|
||||||
|
else
|
||||||
|
mv -- "${D}/$fn" "${D}/${fn}.origin"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
post_pkg_preinst() {
|
||||||
|
protect_server_files
|
||||||
|
}
|
@ -0,0 +1,105 @@
|
|||||||
|
{% calculate comment='#', unbound %}
|
||||||
|
# vim: set syntax=sh
|
||||||
|
|
||||||
|
# Copyright 2014-2015 Calculate Ltd. http://www.calculate-linux.org
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
CL_UPDATE_PROG="/usr/sbin/cl-core"
|
||||||
|
RUN_CORE="/usr/bin/python2 ${CL_UPDATE_PROG}"
|
||||||
|
CORE_METHOD="--method core_setup"
|
||||||
|
[[ -d /var/lib/calculate ]] || mkdir /var/lib/calculate
|
||||||
|
|
||||||
|
# setup package and create postmerge package list
|
||||||
|
setup_merge_package() {
|
||||||
|
rm -f /var/lib/calculate/-postmerge
|
||||||
|
if ! [[ -f /var/lib/calculate/calculate-core/cache/merge-setup.list ]] ||
|
||||||
|
grep ${CATEGORY}/${PN} /var/lib/calculate/calculate-core/cache/merge-setup.list &>/dev/null
|
||||||
|
then
|
||||||
|
if [ -f ${CL_UPDATE_PROG} ] && check_skip
|
||||||
|
then
|
||||||
|
if ! CTARGET=${CTARGET} GCC_CONFIG_VER=${GCC_CONFIG_VER} ${RUN_CORE} ${CORE_METHOD} --no-progress --pkg-version ${PVR} --pkg-slot ${SLOT/\/*} --pkg-category ${CATEGORY} --pkg-path "/" --pkg-name ${PN}
|
||||||
|
then
|
||||||
|
echo $CATEGORY $PN $PVR ${SLOT/\/*} >>/var/lib/calculate/calculate-core/setup-failed.list
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
rm -f /var/lib/calculate/-runlevels-$PN
|
||||||
|
}
|
||||||
|
|
||||||
|
# remove mark: package updating
|
||||||
|
clean_update_mark() {
|
||||||
|
rm -f /var/lib/calculate/-merge-$PN-*
|
||||||
|
}
|
||||||
|
|
||||||
|
# remove contents file which need for cl-core-setup
|
||||||
|
clean_contents_mark() {
|
||||||
|
rm -f /var/lib/calculate/-CONTENTS-*
|
||||||
|
}
|
||||||
|
|
||||||
|
# mark: package updating
|
||||||
|
mark_update_package() {
|
||||||
|
touch "/var/lib/calculate/-merge-$PN--${SLOT/\/*}-$PPID"
|
||||||
|
}
|
||||||
|
|
||||||
|
# save services runlevels
|
||||||
|
save_runlevels() {
|
||||||
|
find /etc/runlevels/{default,boot,sysinit,shutdown} >/var/lib/calculate/-runlevels-$PN
|
||||||
|
}
|
||||||
|
|
||||||
|
# dispatching unmerge or update package
|
||||||
|
pkg_postrm_dispatch() {
|
||||||
|
if [[ ! -f /var/lib/calculate/-merge-$PN--${SLOT/\/*}-$PPID ]]
|
||||||
|
then
|
||||||
|
pkg_postrm_unmerge
|
||||||
|
else
|
||||||
|
pkg_postrm_update
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# restore files of packages which stashed for resolve automagic depends
|
||||||
|
unstash_automagic_requires() {
|
||||||
|
local automagic_dir=/var/lib/calculate/calculate-builder/automagic-requires
|
||||||
|
if [[ -d $automagic_dir ]]
|
||||||
|
then
|
||||||
|
# -K - need to resolve lib -> lib64 symlink problem
|
||||||
|
# -X - to keep file capabilities
|
||||||
|
/usr/bin/rsync -aXKx ${automagic_dir}/ / && rm -rf ${automagic_dir}
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# setup package umerging
|
||||||
|
pkg_postrm_unmerge() {
|
||||||
|
if ! [[ -f /var/lib/calculate/calculate-core/cache/merge-setup.list ]] ||
|
||||||
|
grep ${CATEGORY}/${PN} /var/lib/calculate/calculate-core/cache/merge-setup.list &>/dev/null
|
||||||
|
then
|
||||||
|
[ -f ${CL_UPDATE_PROG} ] && check_skip && ${RUN_CORE} ${CORE_METHOD} --no-progress --pkg-version ${PVR} --pkg-slot ${SLOT/\/*} --pkg-category ${CATEGORY} --pkg-path / --pkg-name ${PN}
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# save contents file for correct package updating by cl-core-setup
|
||||||
|
pkg_postrm_update() {
|
||||||
|
cp /var/db/pkg/${CATEGORY}/${PF}/CONTENTS /var/lib/calculate/-CONTENTS-$PN
|
||||||
|
}
|
||||||
|
|
||||||
|
pre_pkg_postrm() {
|
||||||
|
pkg_postrm_dispatch
|
||||||
|
clean_update_mark
|
||||||
|
}
|
||||||
|
|
||||||
|
pre_pkg_postinst() {
|
||||||
|
setup_merge_package
|
||||||
|
clean_contents_mark
|
||||||
|
clean_update_mark
|
||||||
|
unstash_automagic_requires
|
||||||
|
}
|
||||||
|
|
||||||
|
pre_pkg_preinst() {
|
||||||
|
mark_update_package
|
||||||
|
save_runlevels
|
||||||
|
}
|
@ -0,0 +1,15 @@
|
|||||||
|
{% calculate comment='#', unbound %}
|
||||||
|
# vim: set syntax=sh
|
||||||
|
#
|
||||||
|
# Copyright 2014 Calculate Ltd. http://www.calculate-linux.org
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
if [[ ${EBUILD_PHASE} == "postinst" ]]
|
||||||
|
then
|
||||||
|
echo $RANDOM >>${T}/eclass-debug.log
|
||||||
|
fi
|
@ -0,0 +1,37 @@
|
|||||||
|
{% calculate comment='#', unbound %}
|
||||||
|
# vim: set syntax=sh
|
||||||
|
#
|
||||||
|
# Copyright 2014 Calculate Ltd. http://www.calculate-linux.org
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
if [[ ${CATEGORY}/${PN} == "sys-libs/db" ]]
|
||||||
|
then
|
||||||
|
fix_libdb_6() {
|
||||||
|
if [[ -f /usr/include/db4.8/db.h ]] &&
|
||||||
|
[[ -f /usr/include/db4.8/db_185.h ]] &&
|
||||||
|
[[ -f /usr/lib/libdb-4.8.so ]]
|
||||||
|
then
|
||||||
|
ln -sf db4.8/db.h /usr/include/db.h
|
||||||
|
ln -sf db4.8/db_185.h /usr/include/db_185.h
|
||||||
|
ln -sf libdb-4.8.so /usr/lib/libdb.so
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
post_pkg_postrm() {
|
||||||
|
if [[ $PV == '0_rc73' ]]
|
||||||
|
then
|
||||||
|
fix_libdb_6
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
post_pkg_postinst() {
|
||||||
|
if [[ $SLOT == "4.8" ]] && [[ -d /var/db/pkg/sys-libs/db-0_rc73 ]]
|
||||||
|
then
|
||||||
|
fix_libdb_6
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
fi
|
@ -0,0 +1,5 @@
|
|||||||
|
{% calculate exec='/bin/bash', action='!disk' %}
|
||||||
|
|
||||||
|
/usr/sbin/cl-core --create-symlink &>/dev/null
|
||||||
|
|
||||||
|
true
|
@ -0,0 +1 @@
|
|||||||
|
{% calculate name='etc', package='sys-apps/dbus' %}
|
@ -0,0 +1 @@
|
|||||||
|
{% calculate path='/etc/runlevels' %}
|
@ -0,0 +1,2 @@
|
|||||||
|
{% calculate append="link", source="/etc/init.d/dbus", custom.runlevels.dbus != 'on' or grep('var/lib/calculate/-runlevels-dbus','/dbus') %}
|
||||||
|
{% save.system custom.runlevels.dbus = "on" %}
|
@ -0,0 +1 @@
|
|||||||
|
{% calculate path='/etc', name='conf.d', package='sys-apps/hdparm' %}
|
@ -0,0 +1,5 @@
|
|||||||
|
{% calculate format='openrc' %}
|
||||||
|
|
||||||
|
pata_all_args="-d1 -X69 -c1"
|
||||||
|
sata_all_args=""
|
||||||
|
all_args=""
|
@ -0,0 +1 @@
|
|||||||
|
{% calculate path='/etc', name='grub.d', package='sys-apps/memtest86+' %}
|
@ -0,0 +1,6 @@
|
|||||||
|
{% calculate comment='#', format='regex', multiline, autoupdate %}
|
||||||
|
<!--
|
||||||
|
Добавление к записи Memtest86+ возможности запуска без пароля
|
||||||
|
-->
|
||||||
|
<reg>(Memtest86\+') (\{)</reg>
|
||||||
|
<text>\1 --unrestricted \2</text>
|
@ -0,0 +1 @@
|
|||||||
|
{% calculate append='remove', path='/boot/memtest86plus', name='memtest.netbsd' %}
|
@ -0,0 +1 @@
|
|||||||
|
{% calculate name='etc', package='sys-apps/openrc' %}
|
@ -0,0 +1 @@
|
|||||||
|
{% calculate path='/etc/runlevels', name='boot' %}
|
@ -0,0 +1,2 @@
|
|||||||
|
{% calculate append="link", source="/etc/init.d/consolefont", custom.runlevels.openrc_consolefont != 'on' or grep('var/lib/calculate/-runlevels-openrc','/consolefont') %}
|
||||||
|
{% save.system custom.runlevels.openrc_consolefont = "on" %}
|
@ -0,0 +1 @@
|
|||||||
|
{% calculate path='/lib/rc' %}
|
@ -0,0 +1 @@
|
|||||||
|
{% calculate path='/etc', name='conf.d' %}
|
@ -0,0 +1,3 @@
|
|||||||
|
{% calculate format='openrc' %}
|
||||||
|
|
||||||
|
consolefont="ter-v18n"
|
@ -0,0 +1,3 @@
|
|||||||
|
{% calculate format='openrc', unbound %}
|
||||||
|
|
||||||
|
rc_before="net.lo"
|
@ -0,0 +1,4 @@
|
|||||||
|
{% calculate comment='#' %}
|
||||||
|
# If you wish to pass any options to killall5 during shutdown,
|
||||||
|
# you should do so here.
|
||||||
|
killall5_opts=""
|
@ -0,0 +1,4 @@
|
|||||||
|
{% calculate comment='#', format='openrc', install.os.container.type == 'desktop' %}
|
||||||
|
|
||||||
|
rc_need="net"
|
||||||
|
rc_keyword="!-lxc"
|
@ -0,0 +1,3 @@
|
|||||||
|
{% calculate format='openrc' %}
|
||||||
|
|
||||||
|
rc_after="root"
|
@ -0,0 +1,9 @@
|
|||||||
|
{% calculate format='regex', path='/lib/rc/sh', name='init.sh' %}
|
||||||
|
<reg>(cp -p "\$RC_LIBEXECDIR"/cache/\* "\$RC_SVCDIR" 2>/dev/null
|
||||||
|
fi
|
||||||
|
)(
|
||||||
|
echo sysinit >"\$RC_SVCDIR"/softlevel
|
||||||
|
exit)</reg>
|
||||||
|
<text>\1
|
||||||
|
rc-update -u
|
||||||
|
\2</text>
|
@ -0,0 +1 @@
|
|||||||
|
{% calculate path='/etc' %}
|
@ -0,0 +1 @@
|
|||||||
|
{% calculate append='link', source='/proc/self/mounts', unbound %}
|
@ -0,0 +1,10 @@
|
|||||||
|
{% calculate format='openrc' %}
|
||||||
|
#able to press the I key during boot so you can choose to start specific services
|
||||||
|
rc_interactive="NO"
|
||||||
|
#use all net.* for network atapters (need for CDS)
|
||||||
|
rc_parallel="YES"
|
||||||
|
{% if pkg('net-vpn/wireguard-tools') %}
|
||||||
|
rc_hotplug="!net.wg?"
|
||||||
|
{% else %}
|
||||||
|
rc_hotplug="*"
|
||||||
|
{% endif %}
|
@ -0,0 +1 @@
|
|||||||
|
{% calculate append='remove', path='/etc/runlevels/boot', name='mtab' %}
|
@ -0,0 +1 @@
|
|||||||
|
# Calculate mergepkg()!= append=skip
|
@ -0,0 +1 @@
|
|||||||
|
{% calculate path='/usr/share/portage' %}
|
@ -0,0 +1,10 @@
|
|||||||
|
{% calculate format='samba', name='repos.conf' %}
|
||||||
|
|
||||||
|
{% set repositories = update.cl.repositories %}
|
||||||
|
[gentoo]
|
||||||
|
sync-type = git
|
||||||
|
{% if repositories and repositories[0].name == 'gentoo' and repositories[0].url %}
|
||||||
|
sync-uri = {{ repositories[0].url }}
|
||||||
|
{% else %}
|
||||||
|
sync-uri = git://git.calculate-linux.org/calculate/gentoo-overlay.git
|
||||||
|
{% endif %}
|
@ -0,0 +1 @@
|
|||||||
|
{% calculate format='samba', path='/etc/portage/repos.conf', name='gentoo.conf', source='/usr/share/portage/config/repos.conf', mirror, force %}
|
@ -0,0 +1 @@
|
|||||||
|
{% calculate append='remove', path='/etc/porage/repos.conf' %}
|
@ -0,0 +1 @@
|
|||||||
|
{% calculate append='remove', path='/etc/portage/make.conf', name='0-base' %}
|
@ -0,0 +1 @@
|
|||||||
|
{% calculate append='skip' %}
|
@ -0,0 +1 @@
|
|||||||
|
{% calculate append='skip' %}
|
@ -0,0 +1,38 @@
|
|||||||
|
{% calculate run='/bin/bash' %}
|
||||||
|
|
||||||
|
for dn in /usr/lib*/python*/site-packages/portage/sync/modules
|
||||||
|
do
|
||||||
|
[[ -d $dn ]] || continue
|
||||||
|
[[ -d $dn/calculate ]] || mkdir -p $dn/calculate
|
||||||
|
cat >$dn/calculate/__init__.py <<EOF
|
||||||
|
# Copyright 2014-2018 Gentoo Foundation
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
doc = """Calculate plug-in module for portage.
|
||||||
|
Performs a git pull on repositories."""
|
||||||
|
__doc__ = doc[:]
|
||||||
|
|
||||||
|
from portage.localization import _
|
||||||
|
from portage.sync.config_checks import CheckSyncConfig
|
||||||
|
from portage.util import writemsg_level
|
||||||
|
|
||||||
|
|
||||||
|
module_spec = {
|
||||||
|
'name': 'calcualte',
|
||||||
|
'description': doc,
|
||||||
|
'provides':{
|
||||||
|
'calculate-module': {
|
||||||
|
'name': "calculate",
|
||||||
|
'sourcefile': "calculate",
|
||||||
|
'class': "CalculateSync",
|
||||||
|
'description': doc,
|
||||||
|
'functions': ['sync'],
|
||||||
|
'func_desc': {
|
||||||
|
'sync': 'Performs a calculate overlay sychronization',
|
||||||
|
},
|
||||||
|
'validate_config': CheckSyncConfig,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
done
|
@ -0,0 +1,57 @@
|
|||||||
|
{% calculate run='/bin/bash' %}
|
||||||
|
|
||||||
|
for dn in /usr/lib*/python*/site-packages/portage/sync/modules
|
||||||
|
do
|
||||||
|
[[ -d $dn ]] || continue
|
||||||
|
[[ -d $dn/calculate ]] || mkdir -p $dn/calculate
|
||||||
|
cat >$dn/calculate/calculate.py <<EOF
|
||||||
|
# Copyright 2005-2018 Gentoo Foundation
|
||||||
|
# Distributed under the terms of the GNU General Public License v2
|
||||||
|
|
||||||
|
import io
|
||||||
|
import logging
|
||||||
|
import subprocess
|
||||||
|
|
||||||
|
import portage
|
||||||
|
from portage import os
|
||||||
|
from portage.util import writemsg_level, shlex_split
|
||||||
|
from portage.util.futures import asyncio
|
||||||
|
from portage.output import create_color_func, EOutput
|
||||||
|
good = create_color_func("GOOD")
|
||||||
|
bad = create_color_func("BAD")
|
||||||
|
warn = create_color_func("WARN")
|
||||||
|
from portage.sync.syncbase import NewBase
|
||||||
|
|
||||||
|
class CalculateSync(NewBase):
|
||||||
|
'''Calculate sync class'''
|
||||||
|
|
||||||
|
short_desc = "Perform sync operations on calculate based repositories"
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def name():
|
||||||
|
return "CalculateSync"
|
||||||
|
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
|
NewBase.__init__(self, "cl-core", "sys-apps/calculate-utils")
|
||||||
|
|
||||||
|
def update(self):
|
||||||
|
"""
|
||||||
|
Internal function to update an existing calculate repository
|
||||||
|
|
||||||
|
@return: tuple of return code (0=success), whether the cache
|
||||||
|
needs to be updated
|
||||||
|
@rtype: (int, bool)
|
||||||
|
"""
|
||||||
|
|
||||||
|
#calculate update
|
||||||
|
exitcode = portage.process.spawn_bash(
|
||||||
|
"/usr/sbin/cl-core --method update --rep %s "
|
||||||
|
"--sync-only on --skip-eix-update -T none" % self.repo.name)
|
||||||
|
if exitcode != os.EX_OK:
|
||||||
|
msg = "!!! calculate update error; exiting."
|
||||||
|
self.logger(self.xterm_titles, msg)
|
||||||
|
writemsg_level(msg + "\n", noiselevel=-1, level=logging.ERROR)
|
||||||
|
return (exitcode, False)
|
||||||
|
EOF
|
||||||
|
done
|
@ -0,0 +1,5 @@
|
|||||||
|
{% calculate format='contents' %}
|
||||||
|
sys-apps/portage /usr/lib/python*/site-packages/portage/sync/modules/calculate
|
||||||
|
sys-apps/portage /usr/lib/python*/site-packages/portage/sync/modules/calculate/*
|
||||||
|
sys-apps/portage /usr/lib64/python*/site-packages/portage/sync/modules/calculate
|
||||||
|
sys-apps/portage /usr/lib64/python*/site-packages/portage/sync/modules/calculate/*
|
@ -0,0 +1 @@
|
|||||||
|
{% calculate append='skip', package='sys-apps/sandbox' %}
|
@ -0,0 +1 @@
|
|||||||
|
{% calculate path='/usr/share/applications', append='remove' %}
|
@ -0,0 +1 @@
|
|||||||
|
{% calculate append='skip', package='sys-apps/shadow' %}
|
@ -0,0 +1,13 @@
|
|||||||
|
{% calculate format='regex', comment='#', path='/etc' %}
|
||||||
|
<reg>
|
||||||
|
ENV_SUPATH\tPATH=/sbin:/bin:/usr/sbin:/usr/bin
|
||||||
|
</reg>
|
||||||
|
<text>
|
||||||
|
ENV_SUPATH\tPATH=/usr/sbin:/usr/bin:/sbin:/bin
|
||||||
|
</text>
|
||||||
|
<reg>
|
||||||
|
ENV_PATH\tPATH=/bin:/usr/bin
|
||||||
|
</reg>
|
||||||
|
<text>
|
||||||
|
ENV_PATH\tPATH=/usr/bin:/bin
|
||||||
|
</text>
|
@ -0,0 +1,2 @@
|
|||||||
|
{% calculate path='/etc', (not exists('/etc/subuid')), unbound %}
|
||||||
|
root:1000000:65536
|
@ -0,0 +1,2 @@
|
|||||||
|
{% calculate path='/etc', (not exists('/etc/subuid')), unbound %}
|
||||||
|
root:1000000:65536
|
@ -0,0 +1 @@
|
|||||||
|
{% calculate name='etc', package='sys-apps/sysvinit' %}
|
@ -0,0 +1,12 @@
|
|||||||
|
{% calculate format='regex', comment='#' %}
|
||||||
|
<reg>(si::sysinit:/sbin/(?:open)?rc sysinit
|
||||||
|
)
|
||||||
|
(# Further system initialization, brings up the boot runlevel.)
|
||||||
|
([\s\S]+?)
|
||||||
|
([^\n]+tty2 linux[\s\S]+tty6 linux)</reg>
|
||||||
|
<text>\1
|
||||||
|
# TERMINALS
|
||||||
|
\4
|
||||||
|
|
||||||
|
\2
|
||||||
|
\3</text>
|
Loading…
Reference in new issue