106 Commits

Author SHA1 Message Date
ale 6e69208ce6 Merge branch '0.6r10' of https://gitea.hatthieves.es/cloud/lch into 0.6r10 2020-10-04 19:55:33 +02:00
ale 19cef9a556 wheel process 2020-10-04 17:22:09 +02:00
ale 6eecedb48a solved rpm path 2020-10-04 16:18:39 +02:00
radikal 8426ae032f Merge branch 'master' of https://gitea.hatthieves.es/cloud/lch into master 2020-10-04 16:15:08 +02:00
radikal 5a1696bf13 Minor fixes 2020-10-04 16:14:40 +02:00
ale dcb260e150 solved rpm path 2020-10-04 16:14:38 +02:00
Gustavo Adolfo Mesa Roldán 1243d549d3 0.6r10 2020-10-04 15:24:55 +02:00
pberr 43f8d71fb6 Add rpm build drone pipeline step 2020-10-04 13:47:43 +02:00
pberr 321ba7b5d7 Add rpm build drone pipeline step 2020-10-04 13:38:33 +02:00
pberr 63293deebc Add rpm build drone pipeline step 2020-10-04 13:33:12 +02:00
pberr 54bc16bf3e Add rpm build drone pipeline step 2020-10-04 13:32:19 +02:00
pberr 84f1d52719 Add rpm build drone pipeline step 2020-10-04 13:28:15 +02:00
pberr f026ef7cf8 Add rpb build drone pipeline step 2020-10-04 13:25:02 +02:00
pberr 6614fa5022 Add rpb build drone pipeline step 2020-10-04 13:21:50 +02:00
ale 7d1518daa6 rpmbuild 2020-10-04 13:06:53 +02:00
pberr c15621460d Deb package remove 2020-10-04 12:56:48 +02:00
pberr 20be0ddea9 Fix man page installation 2020-10-04 12:41:36 +02:00
pberr 2b0bc75c4d Fix drone pipeline 2020-10-04 02:26:20 +02:00
pberr 767edab353 Fix drone pipeline 2020-10-04 02:24:00 +02:00
pberr b8b50c623b Fix drone pipeline 2020-10-04 02:20:49 +02:00
pberr b9388ee50e Fix drone pipeline 2020-10-04 02:19:49 +02:00
pberr c35859ea58 Fix drone pipeline 2020-10-04 02:17:17 +02:00
pberr 570d525862 Fix drone pipeline 2020-10-04 02:14:52 +02:00
pberr cf4cd8de76 Fix drone pipeline 2020-10-04 02:12:18 +02:00
pberr d8465168c5 Fix drone pipeline 2020-10-04 02:08:16 +02:00
pberr 3ced24d521 Fix drone pipeline 2020-10-04 02:04:03 +02:00
pberr 5f2db11a92 Debian 9 deb build 2020-10-04 02:02:03 +02:00
pberr a376491e35 Debian 9 deb build 2020-10-04 01:59:58 +02:00
pberr ac5f26af03 Fix drone pipeline 2020-10-04 01:58:29 +02:00
pberr 3900e1a80f Merge branch '0.6r10' of https://gitea.hatthieves.es/cloud/lch into 0.6r10 2020-10-04 01:57:50 +02:00
pberr 0bbeaa2373 Merge branch '0.6-dev' of https://gitea.hatthieves.es/cloud/lch into 0.6r10 2020-10-04 01:57:29 +02:00
ale cf2c59995c another test 2020-10-04 01:55:23 +02:00
pberr e0a43e9672 Fix drone pipeline 2020-10-04 01:49:20 +02:00
ale 33d09631f4 another test 2020-10-04 00:14:07 +02:00
ale 04b758fc89 another test 2020-10-04 00:12:08 +02:00
ale b94bf91378 another test 2020-10-04 00:10:29 +02:00
ale 1406ed5b46 one test 2020-10-04 00:07:13 +02:00
ale 7c1d876877 latest changes 2020-10-03 23:43:23 +02:00
ale 84a45f8c4d latest changes 2020-10-03 23:41:15 +02:00
ale cd077c6dc9 volumes 2020-10-03 23:38:40 +02:00
ale ad041f8d60 volumes 2020-10-03 23:36:33 +02:00
ale d70b450ccf volumes 2020-10-03 23:33:15 +02:00
ale cb5a2cef3d volumes 2020-10-03 23:30:38 +02:00
ale 9893ae690a volumes 2020-10-03 23:20:38 +02:00
ale 6de06743d5 volumes 2020-10-03 23:06:29 +02:00
ale 53e4913270 volumes 2020-10-03 22:42:04 +02:00
pberr 119effe2e3 Fix drone pipeline 2020-10-03 22:28:20 +02:00
pberr 7cfbe7bf5f Fix drone pipeline 2020-10-03 22:19:41 +02:00
punk 4c562d0923 Merge pull request 'WIPlicense' (#8) from license into master
Reviewed-on: https://gitea.hatthieves.es/cloud/lch/pulls/8
2020-10-03 20:09:19 +00:00
pberr f324adc03d Fix drone pipeline 2020-10-03 22:08:40 +02:00
pberr 747a3a07c0 Fix drone pipeline 2020-10-03 22:07:11 +02:00
punk 42e7d0a3c3 Modified Readme 2020-10-03 22:06:47 +02:00
punk 47998e7df0 Added License 2020-10-03 22:03:19 +02:00
punk 7b5756b533 Added ascii logo 2020-10-03 21:54:17 +02:00
pberr d568ed8ae0 Fix drone pipeline 2020-10-03 21:34:08 +02:00
punk 6a46bea0b4 Modified Readme 2020-10-03 21:29:46 +02:00
pberr fd0313a06a Fix drone pipeline 2020-10-03 21:24:35 +02:00
pmorenux e0afb3abf1 Added project description 2020-10-03 21:18:39 +02:00
Pedro Berrocal da0e6e456b Merge pull request 'Fix drone pipeline and man page' (#7) from 0.6r10 into 0.6-dev
Reviewed-on: https://gitea.hatthieves.es/cloud/lch/pulls/7
2020-10-03 16:50:49 +00:00
pberr edd74ac6c1 Fix drone pipeline and man page 2020-10-03 18:47:49 +02:00
Pedro Berrocal df48be5f1f Merge pull request '0.6r10' (#5) from 0.6r10 into 0.6-dev
Reviewed-on: https://gitea.hatthieves.es/cloud/lch/pulls/5
2020-10-03 16:42:11 +00:00
pberr 931ad86dbb Add drone deb build requisites 2020-10-03 18:32:48 +02:00
pberr 9eae05f99c Add drone deb build requisites 2020-10-03 18:31:15 +02:00
pberr 0ca9b6f716 Merge branch '0.6-dev' of https://gitea.hatthieves.es/cloud/lch into 0.6-dev 2020-10-03 17:02:07 +02:00
g f378c8a8cf Merge pull request '0.6r9' (#4) from 0.6r9 into master
Reviewed-on: https://gitea.hatthieves.es/cloud/lch/pulls/4
2020-10-03 14:56:44 +00:00
pberr 00c037ec95 merge 2020-10-03 16:52:42 +02:00
pberr eb2314eeb8 Merge branch '0.6-dev' of https://gitea.hatthieves.es/cloud/lch into 0.6r11 2020-10-03 16:50:43 +02:00
pberr 4c4d0a761e Update version 2020-10-03 16:40:38 +02:00
pberr e08001bc54 Create subfolders 2020-10-03 16:39:40 +02:00
Gustavo Adolfo Mesa Roldán f29b0da9f5 instal fixed 2020-10-03 16:27:50 +02:00
Gustavo Adolfo Mesa Roldán 68bb954a7f 06.r10 2020-10-03 15:45:33 +02:00
Gustavo Adolfo Mesa Roldán ae117b491a 0.6r9 - Get dreamsgit add . 2020-10-03 15:38:38 +02:00
g bf76e052ec Merge pull request '0.6-stable' (#2) from 0.6-dev into master
Reviewed-on: https://gitea.hatthieves.es/cloud/lch/pulls/2
2020-10-03 12:56:30 +00:00
ale f30aed7d2b 0.6r8 2020-10-03 14:47:56 +02:00
Gustavo Adolfo Mesa Roldán 0bfa956345 0.6r7 - Stable 2020-10-03 14:37:32 +02:00
Gustavo Adolfo Mesa Roldán 667e00baea 0.6r7 - Stable 2020-10-03 14:30:06 +02:00
ale d9278518de 0.6r6 2020-10-03 14:21:23 +02:00
Gustavo Adolfo Mesa Roldán 62cb38a046 Merge branch '0.6-dev' of http://gitea.hatthieves.es/cloud/lch into 0.6-dev 2020-10-03 13:34:51 +02:00
Gustavo Adolfo Mesa Roldán 8a22e4c66c 0.5*-- 2020-10-03 13:34:48 +02:00
ale 909c8186ca 0.6r5 2020-10-03 13:33:19 +02:00
ale 1e1be717d7 0.6r4 2020-10-03 13:10:10 +02:00
Gustavo Adolfo Mesa Roldán 9e02361f31 0.6r4 - rpm init 2020-10-03 12:43:40 +02:00
ale 2b48268c30 0.6r3 2020-10-03 12:42:16 +02:00
Gustavo Adolfo Mesa Roldán 54194e3b89 0.6r2 2020-10-03 12:15:05 +02:00
Gustavo Adolfo Mesa Roldán 91cae2b675 0.6r1 2020-10-03 11:59:47 +02:00
Gustavo Adolfo Mesa Roldán c394876fcb 0.6r0 2020-10-03 11:42:11 +02:00
Gustavo Adolfo Mesa Roldán 832718e391 0.6 dev 2020-10-03 11:14:00 +02:00
Gustavo Adolfo Mesa Roldán 3c84ab9231 0.6 dev 2020-10-03 11:11:35 +02:00
Gustavo Adolfo Mesa Roldán fddc1481ef 0.5r10 2020-10-03 08:30:27 +02:00
Gustavo Adolfo Mesa Roldán 438e6867c5 0.5r9 - Executer 2020-10-03 08:12:14 +02:00
Gustavo Adolfo Mesa Roldán 4e04efe1af 0.5r9 - Executer 2020-10-03 08:01:47 +02:00
Gustavo Adolfo Mesa Roldán 5816870906 0.5r8 2020-10-03 07:19:07 +02:00
Gustavo Adolfo Mesa Roldán b25fc8bd8d 0.5r7 2020-10-03 07:00:43 +02:00
Gustavo Adolfo Mesa Roldán edccc89586 0.5r7 2020-10-03 06:46:02 +02:00
Gustavo Adolfo Mesa Roldán 6b94a50229 0.5r6 - stable 2020-10-03 05:56:48 +02:00
Gustavo Adolfo Mesa Roldán 2596a6a6fb 0.5r6 - More... 2020-10-03 05:40:11 +02:00
Gustavo Adolfo Mesa Roldán b8cb0defe8 0.5r5 - vmdk run 2020-10-03 05:05:40 +02:00
Gustavo Adolfo Mesa Roldán b10ba9ffee 0.5r4 - Readme 2020-10-03 03:52:10 +02:00
Gustavo Adolfo Mesa Roldán 8ae84ab526 0.5r4 - Readme 2020-10-03 03:33:00 +02:00
Gustavo Adolfo Mesa Roldán 6692024ae1 0.5r4 - Readme 2020-10-03 03:27:35 +02:00
Gustavo Adolfo Mesa Roldán 9a13b0168c 0.5r4 - Readme 2020-10-03 03:26:43 +02:00
Gustavo Adolfo Mesa Roldán 446b6647ed 0.5r4 - Readme 2020-10-03 03:20:12 +02:00
Gustavo Adolfo Mesa Roldán fd40e86308 0.5r4 2020-10-03 03:18:22 +02:00
Gustavo Adolfo Mesa Roldán 2c6f419db8 More extensions and check after to run 2020-10-03 03:01:42 +02:00
Gustavo Adolfo Mesa Roldán 0be7239088 0.5r2 - Exit 0 2020-09-30 19:59:07 +02:00
radikal a460d09a15 rar arch installation fixed 2020-09-30 16:15:55 +02:00
27 changed files with 610 additions and 114 deletions
+38
View File
@@ -0,0 +1,38 @@
kind: pipeline
type: docker
name: default
steps:
- name: Build Ubuntu deb package
image: ubuntu
volumes:
- name: deb_packages
path: /debian
commands:
- export DEBIAN_FRONTEND=noninteractive
- apt-get update && apt-get install -y dpkg-dev debhelper
- dpkg-buildpackage -us -uc
- cp ../*.deb .
- dpkg -i *.deb
- rm -rf /debian/* && cp *.deb /debian
- 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
+5
View File
@@ -0,0 +1,5 @@
debian/lch/
debian/.debhelper/
debian/debhelper-build-stamp
debian/files
debian/lch.substvars
+23
View File
@@ -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.
+55 -17
View File
@@ -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 ###### Compress
``` ```
@@ -10,25 +28,45 @@ $ lch file.zip file1 [file2...]
$ lch file.zip $ lch file.zip
``` ```
## Supported extensions ###### Options
- tar ```
- tar.gz $ lch -h - Show help
- tar.bz2 $ lch -v - Print version
- tar.xz $ lch -c - Check compression systems
- bz2 $ lch -i - Install the compressors dependencies
- tgz ```
- gz
- zip
- 7z
- rar
## Install ## Supported extensions
```
sudo ./install.sh ###### 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 ## Testing with docker
``` ```
$ git clone https://gitea.hatthieves.es/cloud/lch $ git clone https://gitea.hatthieves.es/cloud/lch
$ cd lch && docker run -it --rm --name lch --workdir /lch -v $(pwd):/lch putyourdistributionhere ./lch -h $ cd lch && docker run -it --rm --name lch --workdir /lch -v $(pwd):/lch putyourdistributionhere ./lch -h
``` ```
+3 -3
View File
@@ -2,7 +2,7 @@
if [ "$UID" != "0" ]; then if [ "$UID" != "0" ]; then
echo " Only root can execute this script, sorry." echo " Only root can execute this script, sorry."
echo " Try 'sudo ./install.sh'" echo " Try 'sudo $0'"
exit 0 exit 0
fi fi
@@ -13,7 +13,7 @@ echo "======================"
echo "" echo ""
cp lch /usr/bin/lch cp lch /usr/bin/lch
mkdir -p /usr/lib/lch mkdir -p /usr/lib/lch
cp ./lib/* /usr/lib/lch cp -r ./lib/* /usr/lib/lch
chmod 755 /usr/bin/lch chmod 755 /usr/bin/lch
echo " Copied lch in /usr/bin" echo " Copied lch in /usr/bin"
@@ -26,7 +26,7 @@ if [ -x "$(command -v man)" ]; then
MANDIR=${MANPATH%%:*}/man1 MANDIR=${MANPATH%%:*}/man1
mkdir -p $MANDIR mkdir -p $MANDIR
cp lch.1 $MANDIR/lch.1 cp man/lch.1 $MANDIR/lch.1
gzip $MANDIR/lch.1 gzip $MANDIR/lch.1
chmod 644 $MANDIR/lch.1.gz chmod 644 $MANDIR/lch.1.gz
echo " Copied manpage in $MANDIR" echo " Copied manpage in $MANDIR"
View File
+5
View File
@@ -0,0 +1,5 @@
lch (0.6.10) unstable; urgency=medium
* Initial release.
-- Pedro Berrocal <pberr@hatthieves.es> Sun, 04 Oct 2020 00:51:43 +0200
+1
View File
@@ -0,0 +1 @@
10
+10
View File
@@ -0,0 +1,10 @@
Source: lch
Maintainer: Pedro Berrocal <pberr@hatthieves.es>
Standards-Version: 0.6.10
Section: utils
Build-Depends: debhelper (>= 10.2.5)
Package: lch
Architecture: all
Description: Linux Compressor Humanizer
Download it and forget about writing arguments.
+7
View File
@@ -0,0 +1,7 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: falcot-data
Files: *
Copyright: 2004-2019 Hatthieves
License:
All rights reserved.
+41
View File
@@ -0,0 +1,41 @@
#!/usr/bin/env bash
if [ "$UID" != "0" ]; then
echo " Only root can execute this script, sorry."
echo " Try 'sudo $0'"
exit 0
fi
# Si existe el archivo lch
if [[ -f "/usr/bin/lch" ]]; then
rm /usr/bin/lch
fi
# Si existe el directorio lch
if [[ -d "/usr/lib/lch" ]]; then
rm -rf "/usr/lib/lch"
fi
# Si existe man
if [ -x "$(command -v man)" ]; then
# Si nulo manpath
if [ -z "$MANPATH" ]; then
MANPATH=$(manpath)
fi
MANDIR=${MANPATH%%:*}/man1
# Si man lch.1
if [[ -f "$MANDIR/lch.1" ]]; then
rm "$MANDIR/lch.1"
fi
# Si man lch.1.gz
if [[ -f "$MANDIR/lch.1.gz" ]]; then
rm "$MANDIR/lch.1.gz"
fi
fi
echo "=============================="
echo " lch uninstalled successfully."
echo -e "==============================\n"
Vendored Executable
+15
View File
@@ -0,0 +1,15 @@
#!/usr/bin/make -f
%:
dh $@
override_dh_usrlocal:
override_dh_auto_install:
./bin/install.sh
configure:
clean:
dh_autoreconf_clean
dh_clean
+6 -9
View File
@@ -1,14 +1,13 @@
#!/usr/bin/env bash #!/usr/bin/env bash
VERSION=0.5r1 VERSION=0.6r10
DEST=$1 DEST=$1
shift 1 shift 1
ORIG=$@ ORIG=$@
if [[ -e /usr/lib/lch/resources.sh ]]; then . /usr/lib/lch/resources.sh; else . ./lib/resources.sh; fi if [[ -e ./lib/resources.sh ]]; then . ./lib/resources.sh; else . /usr/lib/lch/resources.sh; fi
if [[ -e /usr/lib/lch/compressor.sh ]]; then . /usr/lib/lch/compressor.sh; else . ./lib/compressor.sh; fi if [[ -e ./lib/compressor.sh ]]; then . ./lib/compressor.sh; else . /usr/lib/lch/compressor.sh; fi
if [[ -e /usr/lib/lch/decompressor.sh ]]; then . /usr/lib/lch/decompressor.sh; else . ./lib/decompressor.sh; fi if [[ -e ./lib/decompressor.sh ]]; then . ./lib/decompressor.sh; else . /usr/lib/lch/decompressor.sh; fi
if [[ -e /usr/lib/lch/installer.sh ]]; then . /usr/lib/lch/installer.sh; else . ./lib/installer.sh; fi if [[ -e ./lib/installer.sh ]]; then . ./lib/installer.sh; else . /usr/lib/lch/installer.sh; fi
if [ "$DEST" = "--version" ] || [ "$DEST" = "-v" ] if [ "$DEST" = "--version" ] || [ "$DEST" = "-v" ]
then then
@@ -21,15 +20,12 @@ else
case $DEST in case $DEST in
"--help" | "-h") "--help" | "-h")
help help
exit 0
;; ;;
"--check" | "-c") "--check" | "-c")
check check
exit 0
;; ;;
"--install" | "-i") "--install" | "-i")
install $DEST $@ install $DEST $@
exit 0
;; ;;
*) *)
if [ -z "$DEST" ] if [ -z "$DEST" ]
@@ -50,4 +46,5 @@ else
fi fi
;; ;;
esac esac
exit 0
fi fi
+44
View File
@@ -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: 0.6
Release: 10
License: GPL
URL: https://lch.hatthieves.es
Group: System
Packager: HatThieves
Requires: bash
BuildRoot: ./rpmbuild/
# Build with the following syntax:
# rpmbuild --target noarch -bb utils.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
+11 -12
View File
@@ -4,31 +4,31 @@ function compressor()
{ {
case $(lowercase) in case $(lowercase) in
*.tar) *.tar)
tar -cvf $DEST $ORIG executer tar -cvf $DEST $ORIG
;; ;;
*.tar.gz | *.tgz) *.tar.gz | *.tgz)
tar -czvf $DEST $ORIG executer tar -czvf $DEST $ORIG
;; ;;
*.tar.bz2 | *.tbz | *.tbz2 | *.tb2) *.tar.bz2 | *.tbz | *.tbz2 | *.tb2)
tar -c $ORIG | bzip2 > $DEST executer tar -c $ORIG | bzip2 > $DEST
;; ;;
*.tar.xz | *.txz) *.tar.xz | *.txz)
tar -cJf $DEST $ORIG executer tar -cJf $DEST $ORIG
;; ;;
*.bz2) *.bz2)
bzip2 -c $ORIG > $DEST executer bzip2 -c $ORIG > $DEST
;; ;;
*.gz) *.gz)
gzip -c $ORIG > $DEST executer gzip -c $ORIG > $DEST
;; ;;
*.zip) *.zip)
zip -r $DEST $ORIG executer zip -r $DEST $ORIG
;; ;;
*.7z) *.7z)
7za a $DEST $ORIG executer 7z a $DEST $ORIG
;; ;;
*.rar) *.rar)
rar a $DEST $ORIG executer rar a $DEST $ORIG
;; ;;
*) *)
echo "Extension not found." echo "Extension not found."
@@ -36,6 +36,5 @@ function compressor()
;; ;;
esac esac
echo -e "\nDone" echo -e "\nFile $DEST compressed."
exit 0 }
}
+11 -12
View File
@@ -4,31 +4,31 @@ function decompressor()
{ {
case $(lowercase) in case $(lowercase) in
*.tar) *.tar)
tar -xvf $DEST executer tar -xvf $DEST
;; ;;
*.tar.gz | *.tgz) *.tar.gz | *.tgz)
tar -xzvf $DEST executer tar -xzvf $DEST
;; ;;
*.tar.bz2 | *.tbz | *.tbz2 | *.tb2) *.tar.bz2 | *.tbz | *.tbz2 | *.tb2)
tar xjf $DEST executer tar xjf $DEST
;; ;;
*.tar.xz | *.txz) *.tar.xz | *.txz)
tar -xf $DEST executer tar -xf $DEST
;; ;;
*.bz2) *.bz2)
bzip2 -d $DEST executer bzip2 -d $DEST
;; ;;
*.gz) *.gz)
gzip -d $DEST executer gzip -d $DEST
;; ;;
*.zip) *.zip)
unzip $DEST executer unzip $DEST
;; ;;
*.7z) *.7z | *.arj | *.cab | *.dmg | *.iso | *.lzh | *.lzma | *.rpm | *.squashfs | *.vdi | *.vhd | *.vmdk | *.win | *.xar | *.z)
7za e $DEST executer 7z e -y $DEST
;; ;;
*.rar) *.rar)
unrar x $DEST executer unrar x $DEST
;; ;;
*) *)
echo "Extension not found." echo "Extension not found."
@@ -36,6 +36,5 @@ function decompressor()
;; ;;
esac esac
echo -e "\nDone" echo -e "\nFile $DEST decompressed."
exit 0
} }
+33 -47
View File
@@ -1,9 +1,9 @@
#!/usr/bin/env bash #!/usr/bin/env bash
function rarInstall(){ function rarInstall(){
if [ -e "$(command -v wget)" ] if [ -e "$(command -v wget)" ] || [ -e "$(command -v curl)" ]
then then
if [[ $(uname -m) -eq "x86_64" ]] if [[ "$(uname -m)" == "x86_64" ]]
then then
RAR_URL="https://www.rarlab.com/rar/rarlinux-x64-5.9.1.tar.gz" RAR_URL="https://www.rarlab.com/rar/rarlinux-x64-5.9.1.tar.gz"
RAR_FILE="rarlinux-x64-5.9.1.tar.gz" RAR_FILE="rarlinux-x64-5.9.1.tar.gz"
@@ -11,76 +11,62 @@ function rarInstall(){
RAR_URL="https://www.rarlab.com/rar/rarlinux-5.9.1.tar.gz" RAR_URL="https://www.rarlab.com/rar/rarlinux-5.9.1.tar.gz"
RAR_FILE="rarlinux-5.9.1.tar.gz" RAR_FILE="rarlinux-5.9.1.tar.gz"
fi fi
wget $RAR_URL if [ -e "$(command -v wget)" ]
tar -zxvf $RAR_FILE 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 cd rar
cp -v rar unrar /usr/local/bin/ cp -v rar unrar /usr/local/bin/ > /dev/null
cd .. cd ..
rm -r rar $RAR_FILE rm -r rar $RAR_FILE > /dev/null
echo "rar/unrar installed." complete_install "rar"
else 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." read -p "Press [ENTER] to continue installing or [CTRL+C] to exit."
fi fi
} }
function install() function install()
{ {
echo -e "Install dependencies\n"
if [ "$UID" != "0" ]; then if [ "$UID" != "0" ]; then
echo " Only root can execute this script, sorry." echo " Only root can execute this script, sorry."
echo " Try 'sudo $0 $@'" echo " Try 'sudo lch $@'"
exit 0 exit 0
fi fi
if [ -e "$(command -v rar)" ] if [ $# -eq 1 ]; then
then # Poner aviso "Vamos a instalarlo todo y mucho"
echo "rar installed." 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 else
read -p "Do you want to install non-free software? (rar, unrar) [Y/N]: " PRIVSOFT PRIVSOFT=false
case ${PRIVSOFT} in
y|Y)
rarInstall;;
n|N)
echo -e "\nOnly will install free software.\n";;
*)
echo -e "Options: 'Y' or 'N': ";;
esac
fi fi
if [ -x "$(command -v apt)" ] if [ -x "$(command -v apt)" ]
then then
echo -e "APT system detected\n" if [[ -e ./lib/installers/deb.sh ]]; then . ./lib/installers/deb.sh; else . /usr/lib/lch/installers/deb.sh; fi
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
elif [ -x "$(command -v yum)" ] elif [ -x "$(command -v yum)" ]
then then
echo -e "Yum system detected\n" if [[ -e ./lib/installers/rpm.sh ]]; then . ./lib/installers/rpm.sh; else . /usr/lib/lch/installers/rpm.sh; fi
yum install -y -q tar bzip2 gzip zip unzip p7zip 1> /dev/null
elif [ -x "$(command -v pacman)" ] elif [ -x "$(command -v pacman)" ]
then then
echo -e "Pacman system detected\n" if [[ -e ./lib/installers/pacman.sh ]]; then . ./lib/installers/pacman.sh; else . /usr/lib/lch/installers/pacman.sh; fi
pacman -Sqy --noconfirm tar bzip2 gzip zip unzip p7zip 1> /dev/null
elif [ -x "$(command -v zypper)" ] elif [ -x "$(command -v zypper)" ]
then then
echo -e "Zypper system detected\n" if [[ -e ./lib/installers/zypper.sh ]]; then . ./lib/installers/zypper.sh; else . /usr/lib/lch/installers/zypper.sh; fi
zypper install -y tar bzip2 gzip zip unzip p7zip-full 1> /dev/null
else else
echo -e "System installer not detected\n" echo -e "System installer not detected"
fi fi
echo -e "\nDependencies installation finished\n" echo -e "\nDependencies installation finished\n"
exit 0
} }
+55
View File
@@ -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
+53
View File
@@ -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
+69
View File
@@ -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
+54
View File
@@ -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
+64 -10
View File
@@ -1,5 +1,10 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# Colors
RESET="\e[0m"
GREEN="\e[32m"
RED="\e[91m"
function help() function help()
{ {
echo "Help:" echo "Help:"
@@ -10,14 +15,17 @@ function help()
echo "Examples:" echo "Examples:"
echo "$ lch -h - This help" echo "$ lch -h - This help"
echo "$ lch -v - Print version" 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 -i - Install the compressors dependencies"
echo "$ lch file.zip - Decompress" echo "$ lch file.zip - Decompress"
echo "$ lch file.zip /home/file - Compress" echo "$ lch file.zip /home/file - Compress"
echo "$ lch files.zip file1 file2 - Compress multiple" echo "$ lch files.zip file1 file2 - Compress multiple"
echo "" echo ""
echo "Supported extensions:" echo "Packing/unpacking supported extensions:"
echo " rar, tar, tar.gz, tar.bz2, tar.xz, bz2, tgz, gz, zip, 7z" 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 ""
echo "Run 'man lch' for more info." echo "Run 'man lch' for more info."
echo "" echo ""
@@ -29,26 +37,72 @@ function check()
echo -e "Verification of compression systems:\n" echo -e "Verification of compression systems:\n"
echo -e "Systems\t\t\tStatus" echo -e "Systems\t\t\tStatus"
echo "----------------------------------" echo "----------------------------------"
for i in "rar" "unrar" "tar" "bzip2" "gzip" "zip" "unzip" "7za" for i in "7z" "bzip2" "gzip" "rar" "tar" "unrar" "unzip" "zip"
do do
wheel true &
WPID=$!
if ! [ -x "$(command -v $i)" ] if ! [ -x "$(command -v $i)" ]
then then
echo -e "$i\t\t\t\e[91mNot Installed\e[0m" echo -e "$i$RED\t\t\tNot Installed$RESET"
$a = true a=true
else else
echo -e "$i\t\t\t\e[32mInstalled\e[0m" echo -e "$i$GREEN\t\t\tInstalled$RESET"
fi fi
disown $WPID
kill $WPID &> /dev/null
done done
if $a if $a
then 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 fi
echo "" echo ""
exit 0
} }
function lowercase() function lowercase()
{ {
echo "$DEST" | tr 'A-Z' 'a-z' 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
View File
@@ -1,4 +1,4 @@
.TH LCH 1 "29 September 2020" .TH LCH 1 "03 October 2020"
.SH NAME .SH NAME
lch \- command\-line compressor and decompressor for humans lch \- command\-line compressor and decompressor for humans
.SH SYNOPSIS .SH SYNOPSIS
@@ -10,9 +10,11 @@ lch \- command\-line compressor and decompressor for humans
simplicity in mind. Automatically select the compression format by file simplicity in mind. Automatically select the compression format by file
extension. 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 .SH OPTIONS
.TP .TP
@@ -43,6 +45,6 @@ will compress file1 and file2 in file.tar.gz
Report your bugs at <gore@hatthieves.es> Report your bugs at <gore@hatthieves.es>
.SH AUTHOR .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>. This document is by radikal <radikal@disroot.org>.
View File
View File
+1
View File
@@ -0,0 +1 @@
../../lch.spec
View File