Compare commits
119 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 999e03fa3b | |||
| 5f3cec2d88 | |||
| b702974644 | |||
| b914cd2d57 | |||
| 1114291ee4 | |||
| 5816d89708 | |||
| a1fe5a05e7 | |||
| 85bc852017 | |||
| a67bbcc340 | |||
| 4e4a664d38 | |||
| c1d8ca58b9 | |||
| 0d3e7b3cc5 | |||
| 54d6c5ed80 | |||
| 79f1b72bb4 | |||
| 6e69208ce6 | |||
| 05c7cc0fcf | |||
| 19cef9a556 | |||
| 6eecedb48a | |||
| 8426ae032f | |||
| 5a1696bf13 | |||
| dcb260e150 | |||
| 1243d549d3 | |||
| 43f8d71fb6 | |||
| 321ba7b5d7 | |||
| 63293deebc | |||
| 54bc16bf3e | |||
| 84f1d52719 | |||
| f026ef7cf8 | |||
| 6614fa5022 | |||
| 7d1518daa6 | |||
| c15621460d | |||
| 20be0ddea9 | |||
| 2b0bc75c4d | |||
| 767edab353 | |||
| b8b50c623b | |||
| b9388ee50e | |||
| c35859ea58 | |||
| 570d525862 | |||
| cf4cd8de76 | |||
| d8465168c5 | |||
| 3ced24d521 | |||
| 5f2db11a92 | |||
| a376491e35 | |||
| ac5f26af03 | |||
| 3900e1a80f | |||
| 0bbeaa2373 | |||
| cf2c59995c | |||
| e0a43e9672 | |||
| 33d09631f4 | |||
| 04b758fc89 | |||
| b94bf91378 | |||
| 1406ed5b46 | |||
| 7c1d876877 | |||
| 84a45f8c4d | |||
| cd077c6dc9 | |||
| ad041f8d60 | |||
| d70b450ccf | |||
| cb5a2cef3d | |||
| 9893ae690a | |||
| 6de06743d5 | |||
| 53e4913270 | |||
| 119effe2e3 | |||
| 7cfbe7bf5f | |||
| 4c562d0923 | |||
| f324adc03d | |||
| 747a3a07c0 | |||
| 42e7d0a3c3 | |||
| 47998e7df0 | |||
| 7b5756b533 | |||
| d568ed8ae0 | |||
| 6a46bea0b4 | |||
| fd0313a06a | |||
| e0afb3abf1 | |||
| da0e6e456b | |||
| edd74ac6c1 | |||
| df48be5f1f | |||
| 931ad86dbb | |||
| 9eae05f99c | |||
| 0ca9b6f716 | |||
| f378c8a8cf | |||
| 00c037ec95 | |||
| eb2314eeb8 | |||
| 4c4d0a761e | |||
| e08001bc54 | |||
| f29b0da9f5 | |||
| 68bb954a7f | |||
| ae117b491a | |||
| bf76e052ec | |||
| f30aed7d2b | |||
| 0bfa956345 | |||
| 667e00baea | |||
| d9278518de | |||
| 62cb38a046 | |||
| 8a22e4c66c | |||
| 909c8186ca | |||
| 1e1be717d7 | |||
| 9e02361f31 | |||
| 2b48268c30 | |||
| 54194e3b89 | |||
| 91cae2b675 | |||
| c394876fcb | |||
| 832718e391 | |||
| 3c84ab9231 | |||
| fddc1481ef | |||
| 438e6867c5 | |||
| 4e04efe1af | |||
| 5816870906 | |||
| b25fc8bd8d | |||
| edccc89586 | |||
| 6b94a50229 | |||
| 2596a6a6fb | |||
| b8cb0defe8 | |||
| b10ba9ffee | |||
| 8ae84ab526 | |||
| 6692024ae1 | |||
| 9a13b0168c | |||
| 446b6647ed | |||
| fd40e86308 | |||
| 2c6f419db8 |
+49
@@ -0,0 +1,49 @@
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: default
|
||||
|
||||
steps:
|
||||
- name: code-analysis
|
||||
image: aosapps/drone-sonar-plugin
|
||||
settings:
|
||||
sonar_host: https://sonar.hatthieves.es
|
||||
sonar_token:
|
||||
from_secret: sonar_token
|
||||
sources: .
|
||||
commands:
|
||||
- echo "http://dl-cdn.alpinelinux.org/alpine/edge/main" > /etc/apk/repositories
|
||||
- echo "http://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories
|
||||
- apk update
|
||||
- apk add libffi shellcheck
|
||||
- /bin/sh -c /bin/drone-sonar
|
||||
|
||||
- name: Build Ubuntu deb package
|
||||
image: ubuntu
|
||||
volumes:
|
||||
- name: deb_packages
|
||||
path: /debian
|
||||
commands:
|
||||
- ./build-deb.sh
|
||||
- dpkg -i *.deb
|
||||
- cp *.deb /debian && rm *.deb
|
||||
- lch -v
|
||||
|
||||
- name: Build CentOS rpm package
|
||||
image: centos
|
||||
volumes:
|
||||
- name: rpm_packages
|
||||
path: /root/rpmbuild/RPMS/noarch/
|
||||
commands:
|
||||
- yum -qy install rpm-build
|
||||
- rm -rf /root/rpmbuild/RPMS/noarch/*
|
||||
- rpmbuild --target noarch -bb lch.spec
|
||||
- rpm -i /root/rpmbuild/RPMS/noarch/*.rpm
|
||||
- lch -v
|
||||
|
||||
volumes:
|
||||
- name: deb_packages
|
||||
host:
|
||||
path: /opt/docker/production/lch-web/web/deb
|
||||
- name: rpm_packages
|
||||
host:
|
||||
path: /opt/docker/production/lch-web/web/rpm
|
||||
@@ -0,0 +1,5 @@
|
||||
debian/lch/
|
||||
debian/.debhelper/
|
||||
debian/debhelper-build-stamp
|
||||
debian/files
|
||||
debian/lch.substvars
|
||||
@@ -0,0 +1,23 @@
|
||||
Copyright (c) 2020 - by Hatthieves
|
||||
|
||||
Portions of this software are licensed as follows:
|
||||
|
||||
* All third party components incorporated into the Hatthieves Software are licensed under the original license provided by the owner of the applicable component.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
@@ -1,4 +1,22 @@
|
||||
#Linux compressor humanizer
|
||||
# Linux compressor humanizer
|
||||
|
||||
Tool that extract or compress files automatically in a simple & easy way.
|
||||
It keeps the kiss philosophy avoiding to memorize weird flags and commands to extract & compress files.
|
||||
It allows you to auto install dependencies or even proprietary dependencies if requested.
|
||||
|
||||
## Installation
|
||||
|
||||
###### install
|
||||
```
|
||||
sudo ./bin/install.sh
|
||||
```
|
||||
|
||||
###### Uninstall
|
||||
```
|
||||
sudo ./bin/uninstall.sh
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
###### Compress
|
||||
```
|
||||
@@ -10,22 +28,42 @@ $ lch file.zip file1 [file2...]
|
||||
$ lch file.zip
|
||||
```
|
||||
|
||||
## Supported extensions
|
||||
- tar
|
||||
- tar.gz
|
||||
- tar.bz2
|
||||
- tar.xz
|
||||
- bz2
|
||||
- tgz
|
||||
- gz
|
||||
- zip
|
||||
- 7z
|
||||
- rar
|
||||
###### Options
|
||||
```
|
||||
$ lch -h - Show help
|
||||
$ lch -v - Print version
|
||||
$ lch -c - Check compression systems
|
||||
$ lch -i - Install the compressors dependencies
|
||||
```
|
||||
|
||||
## Install
|
||||
```
|
||||
sudo ./install.sh
|
||||
```
|
||||
## Supported extensions
|
||||
|
||||
###### Packing/unpacking:
|
||||
- 7z
|
||||
- bz2
|
||||
- gz
|
||||
- rar
|
||||
- tar
|
||||
- tar.bz2, tbz, tbz2, tb2
|
||||
- tar.gz, tgz
|
||||
- tar.xz, txz
|
||||
- zip
|
||||
|
||||
###### Unpacking only:
|
||||
- arj
|
||||
- cab
|
||||
- dmg
|
||||
- iso
|
||||
- lzh
|
||||
- lzma
|
||||
- rpm
|
||||
- squashfs
|
||||
- vdi
|
||||
- vhd
|
||||
- vmdk
|
||||
- win
|
||||
- xar
|
||||
- z
|
||||
|
||||
## Testing with docker
|
||||
```
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
if [ "$UID" != "0" ]; then
|
||||
echo " Only root can execute this script, sorry."
|
||||
echo " Try 'sudo ./install.sh'"
|
||||
echo " Try 'sudo $0'"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
@@ -13,7 +13,7 @@ echo "======================"
|
||||
echo ""
|
||||
cp lch /usr/bin/lch
|
||||
mkdir -p /usr/lib/lch
|
||||
cp ./lib/* /usr/lib/lch
|
||||
cp -r ./lib/* /usr/lib/lch
|
||||
chmod 755 /usr/bin/lch
|
||||
echo " Copied lch in /usr/bin"
|
||||
|
||||
@@ -26,7 +26,7 @@ if [ -x "$(command -v man)" ]; then
|
||||
|
||||
MANDIR=${MANPATH%%:*}/man1
|
||||
mkdir -p $MANDIR
|
||||
cp lch.1 $MANDIR/lch.1
|
||||
cp man/lch.1 $MANDIR/lch.1
|
||||
gzip $MANDIR/lch.1
|
||||
chmod 644 $MANDIR/lch.1.gz
|
||||
echo " Copied manpage in $MANDIR"
|
||||
Executable
+17
@@ -0,0 +1,17 @@
|
||||
#!/bin/bash
|
||||
VERSION=$(cat VERSION)r$(cat RELEASE)
|
||||
mkdir -p "lch-$VERSION/DEBIAN"
|
||||
echo -e "Package: lch
|
||||
Version: $VERSION
|
||||
Architecture: all
|
||||
Maintainer: HatThieves <webmaster@hatthieves.es>
|
||||
Depends: bash
|
||||
Homepage: https://lch.hatthieves.es
|
||||
Description: LCH - Linux Compressor Humanizer" > "lch-$VERSION/DEBIAN/control"
|
||||
mkdir -p "lch-$VERSION/usr/bin" "lch-$VERSION/usr/lib/lch" "lch-$VERSION/usr/share/man/man1"
|
||||
cp ./lch "lch-$VERSION/usr/bin"
|
||||
cp -r ./lib/* "lch-$VERSION/usr/lib/lch"
|
||||
gzip ./man/lch.1 -c > "lch-$VERSION/usr/share/man/man1/lch.1.gz"
|
||||
chmod 644 "lch-$VERSION/usr/share/man/man1/lch.1.gz"
|
||||
dpkg -b "lch-$VERSION"
|
||||
rm -rf "lch-$VERSION"
|
||||
@@ -1,14 +1,13 @@
|
||||
#!/usr/bin/env bash
|
||||
VERSION=0.5r2
|
||||
VERSION=$(cat VERSION)r$(cat RELEASE)
|
||||
DEST=$1
|
||||
shift 1
|
||||
ORIG=$@
|
||||
|
||||
if [[ -e /usr/lib/lch/resources.sh ]]; then . /usr/lib/lch/resources.sh; else . ./lib/resources.sh; fi
|
||||
if [[ -e /usr/lib/lch/compressor.sh ]]; then . /usr/lib/lch/compressor.sh; else . ./lib/compressor.sh; fi
|
||||
if [[ -e /usr/lib/lch/decompressor.sh ]]; then . /usr/lib/lch/decompressor.sh; else . ./lib/decompressor.sh; fi
|
||||
if [[ -e /usr/lib/lch/installer.sh ]]; then . /usr/lib/lch/installer.sh; else . ./lib/installer.sh; fi
|
||||
|
||||
if [[ -e ./lib/resources.sh ]]; then . ./lib/resources.sh; else . /usr/lib/lch/resources.sh; fi
|
||||
if [[ -e ./lib/compressor.sh ]]; then . ./lib/compressor.sh; else . /usr/lib/lch/compressor.sh; fi
|
||||
if [[ -e ./lib/decompressor.sh ]]; then . ./lib/decompressor.sh; else . /usr/lib/lch/decompressor.sh; fi
|
||||
if [[ -e ./lib/installer.sh ]]; then . ./lib/installer.sh; else . /usr/lib/lch/installer.sh; fi
|
||||
|
||||
if [ "$DEST" = "--version" ] || [ "$DEST" = "-v" ]
|
||||
then
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
###############################################################################
|
||||
# Spec file for lch
|
||||
################################################################################
|
||||
# Configured to be built by user student or other non-root user
|
||||
################################################################################
|
||||
#
|
||||
Summary: Linux Compress Humanizer
|
||||
Name: lch
|
||||
Version: %(cat "$PWD/VERSION")
|
||||
Release: %(cat "$PWD/RELEASE")
|
||||
License: GPL
|
||||
URL: https://lch.hatthieves.es
|
||||
Group: System
|
||||
Packager: HatThieves
|
||||
Requires: bash
|
||||
BuildRoot: ./rpmbuild/
|
||||
|
||||
# Build with the following syntax:
|
||||
# rpmbuild --target noarch -bb lch.spec
|
||||
|
||||
%description
|
||||
Linux Compress Humanizer
|
||||
|
||||
%prep
|
||||
################################################################################
|
||||
# Create the build tree and copy the files from the development directories #
|
||||
# into the build tree. #
|
||||
################################################################################
|
||||
echo "BUILDROOT = $RPM_BUILD_ROOT"
|
||||
mkdir -p $RPM_BUILD_ROOT/usr/bin
|
||||
mkdir -p $RPM_BUILD_ROOT/usr/lib/lch
|
||||
|
||||
cp $OLDPWD/lch $RPM_BUILD_ROOT/usr/bin
|
||||
cp -r $OLDPWD/lib/* $RPM_BUILD_ROOT/usr/lib/lch
|
||||
|
||||
exit
|
||||
|
||||
%files
|
||||
%attr(0755, root, root) /usr/bin/lch
|
||||
/usr/lib/lch/*
|
||||
|
||||
%clean
|
||||
rm -f $RPM_BUILD_ROOT/usr/bin/lch
|
||||
rm -rf $RPM_BUILD_ROOT/usr/lib/lch
|
||||
+10
-10
@@ -4,31 +4,31 @@ function compressor()
|
||||
{
|
||||
case $(lowercase) in
|
||||
*.tar)
|
||||
tar -cvf $DEST $ORIG
|
||||
executer tar -cvf $DEST $ORIG
|
||||
;;
|
||||
*.tar.gz | *.tgz)
|
||||
tar -czvf $DEST $ORIG
|
||||
executer tar -czvf $DEST $ORIG
|
||||
;;
|
||||
*.tar.bz2 | *.tbz | *.tbz2 | *.tb2)
|
||||
tar -c $ORIG | bzip2 > $DEST
|
||||
executer tar -c $ORIG | bzip2 > $DEST
|
||||
;;
|
||||
*.tar.xz | *.txz)
|
||||
tar -cJf $DEST $ORIG
|
||||
executer tar -cJf $DEST $ORIG
|
||||
;;
|
||||
*.bz2)
|
||||
bzip2 -c $ORIG > $DEST
|
||||
executer bzip2 -c $ORIG > $DEST
|
||||
;;
|
||||
*.gz)
|
||||
gzip -c $ORIG > $DEST
|
||||
executer gzip -c $ORIG > $DEST
|
||||
;;
|
||||
*.zip)
|
||||
zip -r $DEST $ORIG
|
||||
executer zip -r $DEST $ORIG
|
||||
;;
|
||||
*.7z)
|
||||
7za a $DEST $ORIG
|
||||
executer 7z a $DEST $ORIG
|
||||
;;
|
||||
*.rar)
|
||||
rar a $DEST $ORIG
|
||||
executer rar a $DEST $ORIG
|
||||
;;
|
||||
*)
|
||||
echo "Extension not found."
|
||||
@@ -36,5 +36,5 @@ function compressor()
|
||||
;;
|
||||
esac
|
||||
|
||||
echo -e "\nDone"
|
||||
echo -e "\nFile $DEST compressed."
|
||||
}
|
||||
+11
-11
@@ -4,31 +4,31 @@ function decompressor()
|
||||
{
|
||||
case $(lowercase) in
|
||||
*.tar)
|
||||
tar -xvf $DEST
|
||||
executer tar -xvf $DEST
|
||||
;;
|
||||
*.tar.gz | *.tgz)
|
||||
tar -xzvf $DEST
|
||||
executer tar -xzvf $DEST
|
||||
;;
|
||||
*.tar.bz2 | *.tbz | *.tbz2 | *.tb2)
|
||||
tar xjf $DEST
|
||||
executer tar xjf $DEST
|
||||
;;
|
||||
*.tar.xz | *.txz)
|
||||
tar -xf $DEST
|
||||
executer tar -xf $DEST
|
||||
;;
|
||||
*.bz2)
|
||||
bzip2 -d $DEST
|
||||
executer bzip2 -d $DEST
|
||||
;;
|
||||
*.gz)
|
||||
gzip -d $DEST
|
||||
executer gzip -d $DEST
|
||||
;;
|
||||
*.zip)
|
||||
unzip $DEST
|
||||
executer unzip $DEST
|
||||
;;
|
||||
*.7z)
|
||||
7za e $DEST
|
||||
*.7z | *.arj | *.cab | *.dmg | *.iso | *.lzh | *.lzma | *.rpm | *.squashfs | *.vdi | *.vhd | *.vmdk | *.win | *.xar | *.z)
|
||||
executer 7z e -y $DEST
|
||||
;;
|
||||
*.rar)
|
||||
unrar x $DEST
|
||||
executer unrar x $DEST
|
||||
;;
|
||||
*)
|
||||
echo "Extension not found."
|
||||
@@ -36,5 +36,5 @@ function decompressor()
|
||||
;;
|
||||
esac
|
||||
|
||||
echo -e "\nDone"
|
||||
echo -e "\nFile $DEST decompressed."
|
||||
}
|
||||
+30
-43
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
function rarInstall(){
|
||||
if [ -e "$(command -v wget)" ]
|
||||
if [ -e "$(command -v wget)" ] || [ -e "$(command -v curl)" ]
|
||||
then
|
||||
if [[ "$(uname -m)" == "x86_64" ]]
|
||||
then
|
||||
@@ -11,74 +11,61 @@ function rarInstall(){
|
||||
RAR_URL="https://www.rarlab.com/rar/rarlinux-5.9.1.tar.gz"
|
||||
RAR_FILE="rarlinux-5.9.1.tar.gz"
|
||||
fi
|
||||
wget $RAR_URL
|
||||
tar -zxvf $RAR_FILE
|
||||
if [ -e "$(command -v wget)" ]
|
||||
then
|
||||
wget -q $RAR_URL > /dev/null
|
||||
else
|
||||
curl -s -o $RAR_FILE $RAR_URL > /dev/null
|
||||
fi
|
||||
tar -zxvf $RAR_FILE > /dev/null
|
||||
cd rar
|
||||
cp -v rar unrar /usr/local/bin/
|
||||
cp -v rar unrar /usr/local/bin/ > /dev/null
|
||||
cd ..
|
||||
rm -r rar $RAR_FILE
|
||||
echo "rar/unrar installed."
|
||||
rm -r rar $RAR_FILE > /dev/null
|
||||
complete_install "rar"
|
||||
else
|
||||
echo -e "\n\e[91m[Error]\e[0m - Wget is not installed, so rar could not be installed.\nPlease install wget.\n"
|
||||
echo -e "\n$RED[Error]$RESET - wget or curl are not in the system, so rar could not be installed.\nPlease, install wget or curl.\n"
|
||||
read -p "Press [ENTER] to continue installing or [CTRL+C] to exit."
|
||||
fi
|
||||
}
|
||||
|
||||
function install()
|
||||
{
|
||||
echo -e "Install dependencies\n"
|
||||
|
||||
if [ "$UID" != "0" ]; then
|
||||
echo " Only root can execute this script, sorry."
|
||||
echo " Try 'sudo $0 $@'"
|
||||
echo " Try 'sudo lch $@'"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ -e "$(command -v rar)" ]
|
||||
then
|
||||
echo "rar installed."
|
||||
if [ $# -eq 1 ]; then
|
||||
# Poner aviso "Vamos a instalarlo todo y mucho"
|
||||
read -p "Do you want to install non-free software? (rar, unrar) [y/N]: " PRIVSOFT
|
||||
case ${PRIVSOFT} in
|
||||
y | Y | yes)
|
||||
PRIVSOFT=true
|
||||
echo -e "\nInstall all dependencies (with non-free)\n";;
|
||||
*)
|
||||
PRIVSOFT=false
|
||||
echo -e "\nOnly will install free software.\n";;
|
||||
esac
|
||||
else
|
||||
read -p "Do you want to install non-free software? (rar, unrar) [Y/N]: " PRIVSOFT
|
||||
case ${PRIVSOFT} in
|
||||
y|Y)
|
||||
rarInstall;;
|
||||
n|N)
|
||||
echo -e "\nOnly will install free software.\n";;
|
||||
*)
|
||||
echo -e "Options: 'Y' or 'N': ";;
|
||||
esac
|
||||
PRIVSOFT=false
|
||||
fi
|
||||
|
||||
if [ -x "$(command -v apt)" ]
|
||||
then
|
||||
echo -e "APT system detected\n"
|
||||
apt install -y tar bzip2 gzip zip unzip p7zip-full 1> /dev/null
|
||||
elif [ -n "$(grep "centos" /etc/*-release)" ]
|
||||
then
|
||||
echo -e "CentOS system detected\n"
|
||||
yum install -y -q epel-release 1> /dev/null
|
||||
rpm -U --quiet http://mirrors.kernel.org/fedora-epel/6/i386/epel-release-6-8.noarch.rpm 1> /dev/null
|
||||
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 1> /dev/null
|
||||
yum repolist 1> /dev/null
|
||||
yum install -y -q tar bzip2 gzip zip unzip p7zip 1> /dev/null
|
||||
elif [ -x "$(command -v dnf)" ]
|
||||
then
|
||||
echo -e "DNF system detected\n"
|
||||
dnf install -y -q tar bzip2 gzip zip unzip p7zip 1> /dev/null
|
||||
if [[ -e ./lib/installers/deb.sh ]]; then . ./lib/installers/deb.sh; else . /usr/lib/lch/installers/deb.sh; fi
|
||||
elif [ -x "$(command -v yum)" ]
|
||||
then
|
||||
echo -e "Yum system detected\n"
|
||||
yum install -y -q tar bzip2 gzip zip unzip p7zip 1> /dev/null
|
||||
if [[ -e ./lib/installers/rpm.sh ]]; then . ./lib/installers/rpm.sh; else . /usr/lib/lch/installers/rpm.sh; fi
|
||||
elif [ -x "$(command -v pacman)" ]
|
||||
then
|
||||
echo -e "Pacman system detected\n"
|
||||
pacman -Sqy --noconfirm tar bzip2 gzip zip unzip p7zip 1> /dev/null
|
||||
if [[ -e ./lib/installers/pacman.sh ]]; then . ./lib/installers/pacman.sh; else . /usr/lib/lch/installers/pacman.sh; fi
|
||||
elif [ -x "$(command -v zypper)" ]
|
||||
then
|
||||
echo -e "Zypper system detected\n"
|
||||
zypper install -y tar bzip2 gzip zip unzip p7zip-full 1> /dev/null
|
||||
if [[ -e ./lib/installers/zypper.sh ]]; then . ./lib/installers/zypper.sh; else . /usr/lib/lch/installers/zypper.sh; fi
|
||||
else
|
||||
echo -e "System installer not detected\n"
|
||||
echo -e "System installer not detected"
|
||||
fi
|
||||
|
||||
echo -e "\nDependencies installation finished\n"
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Functions
|
||||
|
||||
function get_dep(){
|
||||
wheel true &
|
||||
WPID=$!
|
||||
apt-get install -y $@ &> /dev/null
|
||||
if [[ $? -ne 0 ]]; then
|
||||
if [[ $@ == "p7zip-full" ]]; then failed_install 7z; else failed_install $@; fi
|
||||
else
|
||||
if [[ $@ == "p7zip-full" ]]; then complete_install 7z; else complete_install $@; fi
|
||||
fi
|
||||
disown $WPID
|
||||
kill $WPID &> /dev/null
|
||||
}
|
||||
|
||||
# Run
|
||||
|
||||
echo -e "APT system detected"
|
||||
echo "---------------------"
|
||||
|
||||
wheel true &
|
||||
WPID=$!
|
||||
apt-get update 1> /dev/null
|
||||
disown $WPID
|
||||
kill $WPID &> /dev/null
|
||||
|
||||
|
||||
if [ $# -eq 1 ]; then
|
||||
if $PRIVSOFT; then
|
||||
rarInstall
|
||||
fi
|
||||
for installer in "tar" "bzip2" "gzip" "zip" "unzip" "p7zip-full"
|
||||
do get_dep $installer
|
||||
done
|
||||
else
|
||||
for i in $@
|
||||
do
|
||||
if [ $i != "-i" ]
|
||||
then
|
||||
case $i in
|
||||
"rar" | "unrar")
|
||||
rarInstall
|
||||
;;
|
||||
"7z" | "7zip" | "p7zip")
|
||||
get_dep p7zip-full
|
||||
;;
|
||||
*)
|
||||
get_dep $i
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
done
|
||||
fi
|
||||
@@ -0,0 +1,53 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Function
|
||||
|
||||
function get_dep(){
|
||||
wheel true &
|
||||
WPID=$!
|
||||
pacman -Sqy --noconfirm $@ &> /dev/null
|
||||
if [[ $? -ne 0 ]]; then
|
||||
if [[ $@ == "p7zip" ]]; then failed_install 7z; else failed_install $@; fi
|
||||
else
|
||||
if [[ $@ == "p7zip" ]]; then complete_install 7z; else complete_install $@; fi
|
||||
fi
|
||||
disown $WPID
|
||||
kill $WPID &> /dev/null
|
||||
}
|
||||
|
||||
# Run
|
||||
echo -e "Pacman system detected"
|
||||
echo "---------------------"
|
||||
|
||||
wheel true &
|
||||
WPID=$!
|
||||
pacman -F -y 1> /dev/null
|
||||
disown $WPID
|
||||
kill $WPID &> /dev/null
|
||||
|
||||
if [ $# -eq 1 ]; then
|
||||
if $PRIVSOFT; then
|
||||
rarInstall
|
||||
fi
|
||||
for installer in "tar" "bzip2" "gzip" "zip" "unzip" "p7zip"
|
||||
do get_dep $installer
|
||||
done
|
||||
else
|
||||
for i in $@
|
||||
do
|
||||
if [ $i != "-i" ]
|
||||
then
|
||||
case $i in
|
||||
"rar" | "unrar")
|
||||
rarInstall
|
||||
;;
|
||||
"7z" | "7zip" | "p7zip")
|
||||
get_dep p7zip
|
||||
;;
|
||||
*)
|
||||
get_dep $i
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
done
|
||||
fi
|
||||
@@ -0,0 +1,69 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Functions
|
||||
|
||||
function get_dep(){
|
||||
wheel true &
|
||||
WPID=$!
|
||||
if [[ $@ == "p7zip-plugins" ]]; then
|
||||
yum install -y -q $@ 1> /dev/null
|
||||
else
|
||||
yum install -y -q $@ 1> /dev/null
|
||||
if [[ $? -ne 0 ]]; then
|
||||
if [[ $@ == "p7zip" ]]; then failed_install 7z; else failed_install $@; fi
|
||||
else
|
||||
if [[ $@ == "p7zip" ]]; then complete_install 7z; else complete_install $@; fi
|
||||
fi
|
||||
fi
|
||||
disown $WPID
|
||||
kill $WPID &> /dev/null
|
||||
}
|
||||
|
||||
function install_centos(){
|
||||
if [ -n "$(grep "centos" /etc/*-release)" ]; then
|
||||
yum install -y -q epel-release &> /dev/null
|
||||
rpm --quiet --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8 &> /dev/null
|
||||
rpm -U --quiet http://mirrors.kernel.org/fedora-epel/6/i386/epel-release-6-8.noarch.rpm &> /dev/null
|
||||
fi
|
||||
}
|
||||
|
||||
# Run
|
||||
|
||||
echo -e "YUM system detected"
|
||||
echo "---------------------"
|
||||
|
||||
wheel true &
|
||||
WPID=$!
|
||||
yum -y -q update &> /dev/null
|
||||
disown $WPID
|
||||
kill $WPID &> /dev/null
|
||||
|
||||
if [ $# -eq 1 ]; then
|
||||
install_centos
|
||||
if $PRIVSOFT; then
|
||||
rarInstall
|
||||
fi
|
||||
for installer in "tar" "bzip2" "gzip" "zip" "unzip" "p7zip" "p7zip-plugins"
|
||||
do get_dep $installer
|
||||
done
|
||||
else
|
||||
for i in $@
|
||||
do
|
||||
if [ $i != "-i" ]
|
||||
then
|
||||
case $i in
|
||||
"rar" | "unrar")
|
||||
rarInstall
|
||||
;;
|
||||
"7z" | "7zip" | "p7zip")
|
||||
install_centos
|
||||
get_dep p7zip
|
||||
get_dep p7zip-plugins
|
||||
;;
|
||||
*)
|
||||
get_dep $i
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
done
|
||||
fi
|
||||
@@ -0,0 +1,54 @@
|
||||
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Function
|
||||
|
||||
function get_dep(){
|
||||
wheel true &
|
||||
WPID=$!
|
||||
zypper install -y $@ &> /dev/null
|
||||
if [[ $? -ne 0 ]]; then
|
||||
if [[ $@ == "p7zip-full" ]]; then failed_install 7z; else failed_install $@; fi
|
||||
else
|
||||
if [[ $@ == "p7zip-full" ]]; then complete_install 7z; else complete_install $@; fi
|
||||
fi
|
||||
disown $WPID
|
||||
kill $WPID &> /dev/null
|
||||
}
|
||||
|
||||
# Run
|
||||
echo -e "Zypper system detected"
|
||||
echo "---------------------"
|
||||
|
||||
wheel true &
|
||||
WPID=$!
|
||||
zypper -q up -y 1> /dev/null
|
||||
disown $WPID
|
||||
kill $WPID &> /dev/null
|
||||
|
||||
if [ $# -eq 1 ]; then
|
||||
if $PRIVSOFT; then
|
||||
rarInstall
|
||||
fi
|
||||
for installer in "tar" "bzip2" "gzip" "zip" "unzip" "p7zip-full"
|
||||
do get_dep $installer
|
||||
done
|
||||
else
|
||||
for i in $@
|
||||
do
|
||||
if [ $i != "-i" ]
|
||||
then
|
||||
case $i in
|
||||
"rar" | "unrar")
|
||||
rarInstall
|
||||
;;
|
||||
"7z" | "7zip" | "p7zip")
|
||||
get_dep p7zip-full
|
||||
;;
|
||||
*)
|
||||
get_dep $i
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
done
|
||||
fi
|
||||
+63
-8
@@ -1,5 +1,10 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Colors
|
||||
RESET="\e[0m"
|
||||
GREEN="\e[32m"
|
||||
RED="\e[91m"
|
||||
|
||||
function help()
|
||||
{
|
||||
echo "Help:"
|
||||
@@ -10,14 +15,17 @@ function help()
|
||||
echo "Examples:"
|
||||
echo "$ lch -h - This help"
|
||||
echo "$ lch -v - Print version"
|
||||
echo "$ lch -c - Check compresion systems"
|
||||
echo "$ lch -c - Check compression systems"
|
||||
echo "$ lch -i - Install the compressors dependencies"
|
||||
echo "$ lch file.zip - Decompress"
|
||||
echo "$ lch file.zip /home/file - Compress"
|
||||
echo "$ lch files.zip file1 file2 - Compress multiple"
|
||||
echo ""
|
||||
echo "Supported extensions:"
|
||||
echo " rar, tar, tar.gz, tar.bz2, tar.xz, bz2, tgz, gz, zip, 7z"
|
||||
echo "Packing/unpacking supported extensions:"
|
||||
echo " 7z, bz2, gz, rar, tar, tar.bz2, tbz, tbz2, tb2, tar.gz, tgz, tar.xz, txz, zip"
|
||||
echo ""
|
||||
echo "Unpacking only supported extensions:"
|
||||
echo " arj, cab, dmg, iso, lzh, lzma, rpm, squashfs, vdi, vhd, vmdk, win, xar, z"
|
||||
echo ""
|
||||
echo "Run 'man lch' for more info."
|
||||
echo ""
|
||||
@@ -29,20 +37,25 @@ function check()
|
||||
echo -e "Verification of compression systems:\n"
|
||||
echo -e "Systems\t\t\tStatus"
|
||||
echo "----------------------------------"
|
||||
for i in "rar" "unrar" "tar" "bzip2" "gzip" "zip" "unzip" "7za"
|
||||
for i in "7z" "bzip2" "gzip" "rar" "tar" "unrar" "unzip" "zip"
|
||||
do
|
||||
wheel true &
|
||||
WPID=$!
|
||||
if ! [ -x "$(command -v $i)" ]
|
||||
then
|
||||
echo -e "$i\t\t\t\e[91mNot Installed\e[0m"
|
||||
$a = true
|
||||
echo -e "$i$RED\t\t\tNot Installed$RESET"
|
||||
a=true
|
||||
else
|
||||
echo -e "$i\t\t\t\e[32mInstalled\e[0m"
|
||||
echo -e "$i$GREEN\t\t\tInstalled$RESET"
|
||||
fi
|
||||
disown $WPID
|
||||
kill $WPID &> /dev/null
|
||||
done
|
||||
|
||||
if $a
|
||||
then
|
||||
echo -e "\nIn order to use all the extensions install the packages: tar, bzip2, gzip, zip, unzip, 7za, rar, unrar"
|
||||
echo -e "\nIn order to use all the extensions install the packages."
|
||||
echo -e "Or use 'lch -i' to install all dependences"
|
||||
fi
|
||||
echo ""
|
||||
}
|
||||
@@ -51,3 +64,45 @@ function lowercase()
|
||||
{
|
||||
echo "$DEST" | tr 'A-Z' 'a-z'
|
||||
}
|
||||
|
||||
function error_not_install()
|
||||
{
|
||||
echo -e "$@$RED is not installed$RESET, use 'lch -c' to check and 'lch -i' to install."
|
||||
exit 0
|
||||
}
|
||||
|
||||
function executer()
|
||||
{
|
||||
wheel true &
|
||||
WPID=$!
|
||||
if [ -x "$(command -v $1)" ]
|
||||
then
|
||||
"$@" 1> /dev/null
|
||||
else
|
||||
error_not_install $1
|
||||
fi
|
||||
disown $WPID
|
||||
kill $WPID &> /dev/null
|
||||
}
|
||||
|
||||
function complete_install(){
|
||||
echo -e "$@:$GREEN\t\t\tCompleted$RESET"
|
||||
}
|
||||
|
||||
function failed_install(){
|
||||
echo -e "$@:$RED\t\t\tFailed$RESET"
|
||||
}
|
||||
|
||||
function wheel() {
|
||||
sp='/-\|'
|
||||
while $1; do
|
||||
printf '%.1s\b' "$sp"
|
||||
sp=${sp#?}${sp%???}
|
||||
if [ -x "$(command -v bc)" ]
|
||||
then
|
||||
sleep $(echo "0.0001*$(grep 'cpu MHz' /proc/cpuinfo | head -n1 | awk '{print $4}')" | bc -l)s
|
||||
else
|
||||
sleep 0.2s
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
+6
-4
@@ -1,4 +1,4 @@
|
||||
.TH LCH 1 "29 September 2020"
|
||||
.TH LCH 1 "03 October 2020"
|
||||
.SH NAME
|
||||
lch \- command\-line compressor and decompressor for humans
|
||||
.SH SYNOPSIS
|
||||
@@ -10,9 +10,11 @@ lch \- command\-line compressor and decompressor for humans
|
||||
simplicity in mind. Automatically select the compression format by file
|
||||
extension.
|
||||
|
||||
Supported extensions:
|
||||
Packing/unpacking supported extensions:
|
||||
7z, bz2, gz, rar, tar, tar.bz2, tbz, tbz2, tb2, tar.gz, tgz, tar.xz, txz, zip
|
||||
|
||||
rar, tar, tar.gz, tar.bz2, tar.xz, bz2, tgz, gz, zip, 7z
|
||||
Unpacking only supported extensions:
|
||||
arj, cab, dmg, iso, lzh, lzma, rpm, squashfs, vdi, vhd, vmdk, win, xar, z
|
||||
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
@@ -43,6 +45,6 @@ will compress file1 and file2 in file.tar.gz
|
||||
Report your bugs at <gore@hatthieves.es>
|
||||
|
||||
.SH AUTHOR
|
||||
\fBlch\fP are by Gustavo Adolfo Mesa Roldan <gore@hackthieves.es>, radikal <radikal@disroot.org>.
|
||||
\fBlch\fP are by Gustavo Adolfo Mesa Roldan <gore@hatthieves.es>, radikal <radikal@disroot.org>, Ale Romero <ale@hatthieves.es>, Pedro Berrocal <pedro@hatthieves.es>, m <?@?>.
|
||||
|
||||
This document is by radikal <radikal@disroot.org>.
|
||||
Symlink
+1
@@ -0,0 +1 @@
|
||||
../../lch.spec
|
||||
Reference in New Issue
Block a user