summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 2ca9e42c7bdfee5f0843d2e27b22b68e9a3b2f82 (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
pkgname=crypticroute
pkgver=1.3
pkgrel=1
pkgdesc="Network steganography tool designed to transmit data covertly by embedding it within crafted TCP packets."
arch=('any')
url="https://github.com/Sri-dhar/CrypticRoute" 
license=('custom')
# Add git for cloning the source
makedepends=('git')
depends=(
    'python'
    'python-pyqt6'
    'python-psutil'
    'python-netifaces'
    'python-cryptography'
    'python-scapy'
)
provides=('crypticroute_cli' 'crypticroute_gui')
conflicts=()
# Clone the repository into a specific directory to avoid conflict with the local package dir
# This will clone the main branch by default. Add #tag=vX.Y or #commit=... for specific versions
_sourcedir="${pkgname}-git"
source=("${_sourcedir}::git+${url}.git")
sha256sums=('SKIP') # Skip checksum for VCS sources

# prepare() function is often used with VCS sources for tasks like submodule updates
# but isn't strictly necessary here if we just need the main repo content.
# prepare() {
#   cd "${srcdir}/${pkgname}"
#   # Example: git submodule update --init --recursive
# }

build() {
    # Git sources are cloned into the directory specified in source=()
    cd "${srcdir}/${_sourcedir}"
    # Ensure the main scripts are executable
    chmod +x crypticroute_cli.py crypticroute_gui.py
}

package() {
    local install_dir="${pkgdir}/usr/share/${pkgname}"
    # Git sources are cloned into the directory specified in source=()
    local source_root="${srcdir}/${_sourcedir}"

    # Install main scripts
    install -Dm755 "${source_root}/crypticroute_cli.py" "${install_dir}/crypticroute_cli.py"
    install -Dm755 "${source_root}/crypticroute_gui.py" "${install_dir}/crypticroute_gui.py"

    # Install the crypticroute library directory
    cp -r "${source_root}/crypticroute" "${install_dir}/crypticroute"
    # Install the gui library directory
    cp -r "${source_root}/gui" "${install_dir}/gui"

    # Install config.toml (from the cloned repository)
    install -Dm644 "${source_root}/config.toml" "${install_dir}/config.toml"

    # Ensure the target directory for symlinks exists
    install -d "${pkgdir}/usr/bin"

    # Create symbolic links in /usr/bin pointing to the installed scripts
    # These links will allow running 'crypticroute_cli' and 'crypticroute_gui' directly
    ln -sf "/usr/share/${pkgname}/crypticroute_cli.py" "${pkgdir}/usr/bin/crypticroute_cli"
    ln -sf "/usr/share/${pkgname}/crypticroute_gui.py" "${pkgdir}/usr/bin/crypticroute_gui"
}