1 year ago

#231336

test-img

Camonophy

How to handle additional files when building and running a AUR package?

So I was just playing around and created this simple Shell script:

TestScript.sh

#!/bin/bash

read -p "read or write? " INP

if [[ "${INP}" == "write" ]] 
then
    read -p "Write your text: " TEXT
    touch /usr/share/textfile.txt
    echo "${TEXT}" >> /usr/share/textfile.txt
else
    cat /usr/share/textfile.txt
fi

which of course can easily read and write into a file under /usr after gaining sudo priviliges:

sudo sh TestScript.sh

Based on this file I create a test PKGBUILD to install TestScript.sh via pacman later on:

PKGBUILD

# Maintainer: Your Name <youremail@domain.com>
pkgname='test-script'
pkgver=1
pkgrel=1
pkgdesc="AUR test package"
arch=('x86_64')
license=('custom')
source=('TestScript.sh')
md5sums=('SKIP')

package() {
    mkdir -p "${pkgdir}/usr/bin"
    cp "${srcdir}/TestScript.sh" "${pkgdir}/usr/bin/TestScript"
    chmod +x "${pkgdir}/usr/bin/TestScript"
}

Followed by

makepkg

sudo pacman -U test-script-1-1-x86_64.pkg.tar.xz

I can run

TestScript

from the command line. But just as I thought, I am unable to write into /usr/share/textfile.txt . I was searching the Arch-Wiki page up and down, but I couldn't find out how to handle this situation. I basically just want to have a location where I can properly read and write a file without messing up the user space. Does anyone have an idea?

bash

shell

pkgbuild

pacman-package-manager

0 Answers

Your Answer

Accepted video resources