aboutsummaryrefslogtreecommitdiff
path: root/paludis/repositories/e/ebuild/sydbox.bash
blob: 777cb64ab0c76a0395e98ad3b1591c4c2cfc68f8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#!/usr/bin/env bash
# vim: set sw=4 sts=4 et :

# Copyright (c) 2009, 2010 Ali Polatel <alip@exherbo.org>
#
# Based in part upon ebuild.sh from Portage, which is Copyright 1995-2005
# Gentoo Foundation and distributed under the terms of the GNU General
# Public License v2.
#
# This file is part of the Paludis package manager. Paludis is free software;
# you can redistribute it and/or modify it under the terms of the GNU General
# Public License, version 2, as published by the Free Software Foundation.
#
# Paludis is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
# details.
#
# You should have received a copy of the GNU General Public License along with
# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
# Place, Suite 330, Boston, MA  02111-1307  USA

sydboxcheck()
{
    [[ -e /dev/sydbox ]]
}

sydboxcmd()
{
    if sydboxcheck; then
        if [[ -n "${2}" ]]; then
            case "${1}" in
                net/*)
                    # net/* commands don't take path arguments
                    [[ -e /dev/sydbox/${1}/"${2}" ]]
                    ;;
                *)
                    [[ "/" != "${2:0:1}" ]] && die "${FUNCNAME} ${1}: non-absolute path"
                    [[ -e /dev/sydbox/${1}/"${2}" ]]
                    ;;
            esac
        else
            [[ -e /dev/sydbox/${1} ]]
        fi
    fi
}

addread()
{
    die_unless_nonfatal "${FUNCNAME} not implemented for sydbox yet"
}

addwrite()
{
    sydboxcmd write "${1}"
}

adddeny()
{
    die_unless_nonfatal "${FUNCNAME} not implemented for sydbox yet"
}

addpredict()
{
    die "${FUNCNAME} is dead! Use addfilter instead!"
}

rmwrite()
{
    sydboxcmd unwrite "${1}"
}

rmpredict()
{
    die "${FUNCNAME} is dead! Use rmfilter instead!"
}

addfilter()
{
    sydboxcmd addfilter "${1}"
}

rmfilter()
{
    sydboxcmd rmfilter "${1}"
}