Skip to content

Commit

Permalink
Merge pull request #7 from Kedap/develop
Browse files Browse the repository at this point in the history
v1.4.0
  • Loading branch information
Kedap authored Jun 23, 2021
2 parents 53d0c48 + 420b0bd commit 6082e7c
Show file tree
Hide file tree
Showing 25 changed files with 338 additions and 167 deletions.
22 changes: 22 additions & 0 deletions .github/workflows/rust.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Rust

on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main, develop ]

env:
CARGO_TERM_COLOR: always

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: Build
run: cargo build --verbose
- name: Run tests
run: cargo test --verbose
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
target/
testdir/test-tar.tar.gz
testdir/test-tar.d/
testdir/test.adi
8 changes: 4 additions & 4 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ rust:
- stable
- beta
- nightly
before_script:
- rustup component add clippy
script:
- cargo clippy
matrix:
allow_failures:
- rust: nightly
fast_finish: true
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ El codigo debe de documentarse cuando sea apropiado. Si usted cree que realizo u

## Testers

Son una parte fudamental en el crecimiento de este proyecto, son aquellos que se encargan de checar todos los pulls requests, probarlos y aceptarlos, si tu quieres ser parte los testers puede mandar un mensaje a [telegram](https://t.me/Kedap_Develop)
Son una parte fudamental en el crecimiento de este proyecto, son aquellos que se encargan de checar todos los pulls requests, probarlos y aceptarlos, si tu quieres ser parte los testers puede mandar un mensaje a [telegram](https://t.me/Kedap_Develop) o email

## Desarrollador

Expand Down
11 changes: 10 additions & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 4 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "apmpkg"
version = "1.3.0"
authors = ["kedap <[email protected]>"]
version = "1.4.0"
authors = ["kedap <[email protected]>"]
edition = "2018"
description = "Un administrador de paquetes universal para linux como modelo: PKGBUILD"
readme = "README.md"
Expand All @@ -24,4 +24,5 @@ tar = "0.4"
flate2 = "1.0"
sha2 = "0.9.3"
nix = "0.20.0"
psutil = "3.2.0"
psutil = "3.2.0"
exitcode = "1.1.2"
15 changes: 9 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,15 @@ A Package Manager as a model: PKGBUILD
</p>

# NOTICIAS
- Se ha liberado la versión: v1.3 Para todos!!!
- Se ha liberado la versión: v1.4 Para todos!!!
- Creacion de los binarios para todas las distribuciones disponibles
- Se a subido ApmPKG esta en [AUR](https://aur.archlinux.org/packages/apmpkg/)
- Solucionamos el problema con gestores de paquetes que no tenian una opcion o bandera para confirmar la instalacion, es el caso de apk
- Agregamos en las dependencias para apk `bash` y `ruby-dev`
- Agregamos el soporte para pkg de termux
- Agregamos el soporte de dependencias para npm
- Realizamos que posible el hecho de poder ejecutar scripts post instalacion en archivos adi [mas info aqui](doc/creando_paquetes.md/#instalacion)
- Ahora ya se puede ejecutar scripts pre-instalacion
- Correccion de pequeños errores
- Se buscan dependencias tambien si estan instaladas por apmpkg
- Agregamos el soporte para Slackpkg
- Se agregaron tests en el codigo
- Se manejan mejor los errores

* * *
Un gestor de paquetes que desea ser una poderosa herramienta universal para linux con el fin de la cracion e instalacion de paquetes.
Expand All @@ -35,6 +36,7 @@ Los gestores que son soportado por ApmPKG:
- [x] Apk
- [x] Pkg (termux)
- [x] Npm
- [x] Slackpkg
- [ ] Emerge
- [ ] Yay
- [ ] Nix
Expand Down Expand Up @@ -64,6 +66,7 @@ Para ello puedes dirijirte a la seccion de [lanzamientos](https://github.com/Ked
- Crear un prototipo para un generar un archivo .adi o .abc, con el comando: `apmpkg crear adi foo` en el caso de crear un archivo .abc se debe de ejecutar lo siguiente: `apmpkg crear abc foo`
- Construir tus binarios, Con la llegada de la version 1.2 se puede construir binarios sin la necesidad de instalarlos, solo debes de ejecutar: `apmpkg construir foo.adi` o si es un paquete .abc: `apmpkg construir foo.abc`
- Con la llegada de la version 1.3 se puede ejecutar scripts post instalacion [mas info aqui](doc/creando_paquetes.md/#instalacion)
- En la version 1.4 se pueden ejecutar scripts pre instalacion

## Contribuir
Si tienes una buena idea o quieres contribuir con este proyecto puedes empezar por [aqui](https://github.com/Kedap/apmpkg/issues) y [leer esto](CONTRIBUTING.md)
Expand Down
5 changes: 4 additions & 1 deletion doc/creando_paquetes.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ sha256sum = "ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" # SALT
[instalacion]
#opt_src = true
pre_install = "pre_apmpkg.sh"
files = ["main.rb" , "config.conf"]
ruta = ["/usr/bin/foo", "/etc/foo/config.conf"]
post_install = "post_apmpkg.sh"
Expand Down Expand Up @@ -145,14 +146,16 @@ En **sha256sums** se debe de colcar las sumas sha256 del archivo a descargar, en
Aqui se enfoca la informacion refrente a la ruta de instalacion, este se inicia con `[instalacion]` ejemplo:
```
#opt_src = true
pre_install = "pre_install.sh"
files = ["main.rb" , "config.conf"]
ruta = ["/usr/bin/foo", "/etc/foo/config.conf"]
post_install = "post_apmpkg.sh"
mensaje = "Para poder ejecutar, prueba con 'foo'!"
```
La variable **opt_src** es un boleano que admite true o false si es que se desea que todo el directorio obtenido por git o por la descarga se copia a la carpeta /opt, un ejemplo de esto es el paquete metasploit que se instala en la carpeta opt.
**files** y **ruta** ambos son arrays que contienen ruta de archivos, files selecciona los archivos que se van a instalar y ruta la ruta donde estos van a ser instalados, el primer archivo seleccionado se va a instalar con `install -Dm 755` ya que se da por hecho que el index 0 de ambos array es un binario.
Encontraremos con la variable **post_install** que no es mas un variable string que almacena la ruta del script escrito en bash que se ejecutara una vez instalado el paquete
Encontraremos con la variable **post_install** que no es mas un variable string que almacena la ruta del script escrito en bash que se ejecutara una vez instalado el paquete en el caso de dar otra salida que no sea exit code 0, se dara por fallido
En la variable pre_install se encuentra la ruta en donde esta el script de bash, al igual que el script post_install este se dara por fallido si retorna otra salida que no sea 0

## Abc
Su nombre es el acronimo de:
Expand Down
2 changes: 1 addition & 1 deletion doc/instalacion.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ pacman -S apmpkg

En el caso de que quieras instalar la version en desarrollo (no recomendado) deberas ejecutar:
```sh
pacman -S apmpkg-git-dev
pacman -S apmpkg-dev
```

## Zypper
Expand Down
2 changes: 1 addition & 1 deletion ejemplos/nspawn.adi
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ nombre = "nspawn"
version = "1.0.0"
rama = "estable"
descrip = "A wrapper around machinectl for easy-deployment of nspawn.org containers"
pagina = "https://github.com/nspawn/nspawn"
pagina = "https://nspawn.org/"
licensia = "GPL-V3"
dependencias = ["bash"]
conflicto = "/usr/bin/nspawn.sh"
Expand Down
Binary file modified img/captura_prin.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
10 changes: 5 additions & 5 deletions man/apmpkg-en.1
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.48.3.
.TH APMPKG "1" "June 2021" "apmpkg 1.3" "User Commands"
.TH APMPKG "1" "June 2021" "apmpkg 1.4" "User Commands"
.SH NAME
apmpkg \- manual page for apmpkg 1.3
apmpkg \- manual page for apmpkg 1.4
.SH DESCRIPTION
ApmPKG v1.3
Kedap. <[email protected]>
A Package Manager as a model: PKGBUILD
ApmPKG v1.4.0
Kedap. <[email protected]>
A Package Manager as model: PKGBUILD
.SS "USAGE:"
.IP
apmpkg [OPTIONS] [SUBCOMMAND]
Expand Down
12 changes: 6 additions & 6 deletions man/apmpkg.1
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.48.3.
.TH APMPKG "1" "June 2021" "apmpkg 1.3" "User Commands"
.TH APMPKG "1" "June 2021" "apmpkg 1.4" "User Commands"
.SH NAME
apmpkg \- Pagina manual de apmpkg 1.3
apmpkg \- Pagina manual para ApmPKG 1.4
.SH DESCRIPTION
ApmPKG v1.3
Kedap. <[email protected]>
ApmPKG v1.4.0
Kedap. <[email protected]>
Un administrador de paquetes universal para linux como modelo PKGBUILD
.SS "USAGE:"
.IP
Expand All @@ -26,10 +26,10 @@ construir
Crea un binario apartir de un archivo adi o abc
.TP
crear
Crea un prototipo para archivo .adi o .abc
Imprime el menu de ayuda para cada subcomando
.TP
help
Imprime el menu de ayuda para cada subcomando
Prints this message or the help of the given subcommand(s)
.TP
instalar
Instala/actualiza un paquete
Expand Down
23 changes: 8 additions & 15 deletions src/archivos.rs
Original file line number Diff line number Diff line change
Expand Up @@ -415,23 +415,16 @@ pub fn crate_bin(path: &str, nombre: &str, meta_file: &str) {
let adi = tomy.as_table().unwrap();

let conservar_src_dir = binario_completo(meta_file);
let mut noombre = String::new();
noombre.push_str(nombre);
noombre.push_str(".abi.tar.gz");
let tar_gz = File::create(noombre).expect("Algo fallo al crear el tar_gz");
let enc = GzEncoder::new(tar_gz, Compression::default());
let mut tar = tar::Builder::new(enc);

if conservar_src_dir {
let mut noombre = String::new();
noombre.push_str(nombre);
noombre.push_str(".abi.tar.gz");
let tar_gz = File::create(noombre).expect("Algo fallo al crear el tar_gz");
let enc = GzEncoder::new(tar_gz, Compression::default());
let mut tar = tar::Builder::new(enc);
tar.append_dir_all(".", path).expect("Fallo en dir_all");
} else {
let mut noombre = String::new();
noombre.push_str(nombre);
noombre.push_str(".abi.tar.gz");
let tar_gz = File::create(noombre).expect("Algo fallo al crear el tar_gz");
let enc = GzEncoder::new(tar_gz, Compression::default());
let mut tar = tar::Builder::new(enc);

// Verificando si es que instala con fuentes locales
let fuentes_locales = source_es_local(meta_file);
let des: AdiDescarga;
Expand Down Expand Up @@ -591,7 +584,7 @@ pub fn existe_abc(path: &str) -> bool {
.arg(db_path)
.output()
.expect("Ocurrio algo con cat");
cat_file.status.to_string() != "exit code: 1"
cat_file.status.to_string() != "exit status: 1"
}

pub fn existe_adi() -> bool {
Expand All @@ -600,7 +593,7 @@ pub fn existe_adi() -> bool {
.output()
.expect("Ocurrio un error al ejecutar cat");

resultado_cat.status.to_string() != "exit code: 1"
resultado_cat.status.to_string() != "exit status: 1"
}

pub fn spawn_adi(nombre: &str) {
Expand Down
4 changes: 2 additions & 2 deletions src/cli.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: ApmPKG
version: "v1.3.0"
author: Kedap. <[email protected]>
version: "v1.4.0"
author: Kedap. <[email protected]>
about: Un administrador de paquetes universal para linux como modelo PKGBUILD
args:
- instalard:
Expand Down
Loading

0 comments on commit 6082e7c

Please sign in to comment.