Added files
This commit is contained in:
parent
1d336af1f2
commit
be57d66598
4 changed files with 108 additions and 0 deletions
24
PKGBUILD
Normal file
24
PKGBUILD
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
# Maintainer: Claudio Maggioni <youremail@domain.com>
|
||||||
|
pkgname=astley-rm
|
||||||
|
pkgver=1
|
||||||
|
pkgrel=1
|
||||||
|
pkgdesc="Prevent 'rm -rf' playing Never Gonna Give You Up"
|
||||||
|
arch=('any')
|
||||||
|
url="https://praticamentetilde.github.io/linux/2016/07/28/how-to-rickroll-people-launching-rm-rf-on-your-system.html"
|
||||||
|
license=('custom:unlicense')
|
||||||
|
makedepends=('git' 'youtube-dl')
|
||||||
|
|
||||||
|
_branch=master
|
||||||
|
|
||||||
|
#source=("$pkgname-$_branch.zip::https://github.com/praticamentetilde/$pkgname/archive/$_branch.zip")
|
||||||
|
source=("$pkgname-$_branch.zip")
|
||||||
|
sha512sums=(SKIP)
|
||||||
|
|
||||||
|
package() {
|
||||||
|
cd "$srcdir"
|
||||||
|
echo "Placing /usr/bin/astley-rm script..."
|
||||||
|
install -D -m755 astley-rm.sh "$pkgdir"/usr/bin/astley-rm
|
||||||
|
echo "Placing /usr/bin/astley-rm-config script..."
|
||||||
|
install -D -m755 astley-rm-config.sh "$pkgdir"/usr/bin/astley-rm-config
|
||||||
|
echo "Done."
|
||||||
|
}
|
45
astley-rm-config.sh
Normal file
45
astley-rm-config.sh
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
usage="$(basename "$0") [-h] [-s] [-f FILE1 (FILE2 ...)] -- Set up the aliases for astley-rm.
|
||||||
|
|
||||||
|
where:
|
||||||
|
-h show this help text
|
||||||
|
-s output the aliases
|
||||||
|
-f specify manually the file(s) where to output the aliases.
|
||||||
|
|
||||||
|
If the -f option is not used, the aliases will be added to /etc/profile and /etc/bash.bashrc.
|
||||||
|
Once you have ran this script, restart your shell session in order to apply the aliases
|
||||||
|
Please remember to manually delete these aliases before uninstall."
|
||||||
|
|
||||||
|
config="\n# lines added by /usr/bin/astley-rm-config\nalias rm='/usr/bin/astley-rm'\nalias sudo='sudo '\n"
|
||||||
|
|
||||||
|
while getopts ':hsf:' option; do
|
||||||
|
case "$option" in
|
||||||
|
h) echo "$usage"
|
||||||
|
exit
|
||||||
|
;;
|
||||||
|
s) echo -e "$config"
|
||||||
|
exit
|
||||||
|
;;
|
||||||
|
f) if [ -z $2 ]; then
|
||||||
|
echo "Please specify at least one file where to output the aliases."
|
||||||
|
exit 1
|
||||||
|
fi;
|
||||||
|
shift 1
|
||||||
|
for file in $@; do
|
||||||
|
echo -e $config >> $file
|
||||||
|
done
|
||||||
|
exit
|
||||||
|
;;
|
||||||
|
:) printf "missing argument for -%s\n" "$OPTARG" >&2
|
||||||
|
echo "$usage" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
\?) printf "illegal option: -%s\n" "$OPTARG" >&2
|
||||||
|
echo "$usage" >&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
echo -e $config >> /etc/profile
|
||||||
|
echo -e $config >> /etc/bash.bashrc
|
3
astley-rm.install
Normal file
3
astley-rm.install
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
post_install(){
|
||||||
|
echo "IMPORTANT! Run /usr/bin/astley-rm-config to set the aliases."
|
||||||
|
}
|
36
astley-rm.sh
Normal file
36
astley-rm.sh
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
#! /bin/bash
|
||||||
|
# Rickroll whoever tries to desert this system, even root.
|
||||||
|
# To achieve this, set the appropriate aliases even in /etc/profile and similars.
|
||||||
|
|
||||||
|
rickroll(){
|
||||||
|
echo "Never gonna desert this system..."
|
||||||
|
xdg-open "http://youtu.be/dQw4w9WgXcQ" 2>&1 &
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
|
while getopts ":rf-" opt; do
|
||||||
|
# Prevent '--force' to be detected as -r and -f
|
||||||
|
if [ "$opt" = "-" ]; then
|
||||||
|
OPTIND=$OPTIND+1
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
if [ "$opt" = "r" ] || [ "$opt" = "f" ]; then
|
||||||
|
if [ "$tmp" = "" ]; then
|
||||||
|
tmp=$opt
|
||||||
|
continue
|
||||||
|
elif [ "$tmp" != "$opt" ]; then
|
||||||
|
rickroll
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
for var in "$@"
|
||||||
|
do
|
||||||
|
if [[ "$var" = "--force" && "$tmp" = "r" ]]; then
|
||||||
|
rickroll
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# If it's safe, just run rm
|
||||||
|
/bin/rm "$@"
|
||||||
|
exit $?
|
Reference in a new issue