Skip to content

Commit

Permalink
feat(package): add an instruction rootcp to copy files recursively to /
Browse files Browse the repository at this point in the history
  • Loading branch information
yunielrc committed Sep 16, 2023
1 parent 68edd3c commit 1d38e92
Show file tree
Hide file tree
Showing 7 changed files with 88 additions and 1 deletion.
15 changes: 14 additions & 1 deletion src/usr/lib/ydf/components/package/ydf-package-service.bash
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ fi
# readonly __YDF_PACKAGE_SERVICE_INSTRUCTIONS_MANJARO="preinstall pacman yay install postinstall ${__YDF_PACKAGE_SERVICE_INSTRUCTIONS_COMMON}"
# readonly __YDF_PACKAGE_SERVICE_INSTRUCTIONS_UBUNTU="preinstall apt install postinstall ${__YDF_PACKAGE_SERVICE_INSTRUCTIONS_COMMON}"
# shellcheck disable=SC2016
readonly __YDF_PACKAGE_SERVICE_INSTRUCTIONS_COMMON='install @flatpak @snap docker_compose:docker-compose.yml plugin_zsh:${pkg_name}.plugin.zsh homeln/ homelnr/ homecp/ postinstall'
readonly __YDF_PACKAGE_SERVICE_INSTRUCTIONS_COMMON='install @flatpak @snap docker_compose:docker-compose.yml plugin_zsh:${pkg_name}.plugin.zsh homeln/ homelnr/ homecp/ rootcp/ postinstall'

readonly __YDF_PACKAGE_SERVICE_INSTRUCTIONS_MANJARO="preinstall @pacman @yay ${__YDF_PACKAGE_SERVICE_INSTRUCTIONS_COMMON}"
# readonly __YDF_PACKAGE_SERVICE_INSTRUCTIONS_UBUNTU="preinstall install postinstall ${__YDF_PACKAGE_SERVICE_INSTRUCTIONS_COMMON}"
Expand Down Expand Up @@ -263,6 +263,19 @@ ydf::package_service::__instruction_homecp() {
cp -vrf --backup "${PWD}/homecp/"* ~/
}

#
# Execute rootcp instruction
#
# Arguments:
# pkg_name string package name
#
# Returns:
# 0 on success, non-zero on error.
#
ydf::package_service::__instruction_rootcp() {
sudo cp -vrf --backup "${PWD}/rootcp/"* /
}

#
# Install a ydotfile package from a directory
#
Expand Down
1 change: 1 addition & 0 deletions tests/fixtures/packages/14rootcp/rootcp/.my-config.env
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
my-config
1 change: 1 addition & 0 deletions tests/fixtures/packages/14rootcp/rootcp/.my/dir1/file11
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
file11
1 change: 1 addition & 0 deletions tests/fixtures/packages/14rootcp/rootcp/.my/file1
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
file1
1 change: 1 addition & 0 deletions tests/fixtures/packages/14rootcp/rootcp/.my/file2
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
file2
35 changes: 35 additions & 0 deletions tests/usr/lib/ydf/components/package/ydf-package-command.f.bats
Original file line number Diff line number Diff line change
Expand Up @@ -381,3 +381,38 @@ com.github.tchx84.Flatseal: postinstall succeed"

rm -r /home/vedv/.my /home/vedv/.my-config.env
}

# Tests for ydf package install ./14rootcp
@test "ydf package install ./14rootcp Should succeed" {
local -r _package_dir="${TEST_FIXTURES_DIR}/packages/14rootcp"

run ydf package install "$_package_dir"

assert_success
assert_output "'/home/vedv/ydf/tests/fixtures/packages/14rootcp/rootcp/.my' -> '/.my'
'/home/vedv/ydf/tests/fixtures/packages/14rootcp/rootcp/.my/dir1' -> '/.my/dir1'
'/home/vedv/ydf/tests/fixtures/packages/14rootcp/rootcp/.my/dir1/file11' -> '/.my/dir1/file11'
'/home/vedv/ydf/tests/fixtures/packages/14rootcp/rootcp/.my/file1' -> '/.my/file1'
'/home/vedv/ydf/tests/fixtures/packages/14rootcp/rootcp/.my/file2' -> '/.my/file2'
'/home/vedv/ydf/tests/fixtures/packages/14rootcp/rootcp/.my-config.env' -> '/.my-config.env'"

assert [ ! -L '/.my' ]
assert [ -d '/.my' ]

assert [ ! -L '/.my/dir1' ]
assert [ -d '/.my/dir1' ]

assert [ ! -L '/.my/dir1/file11' ]
assert [ -f '/.my/dir1/file11' ]

assert [ ! -L '/.my/file1' ]
assert [ -f '/.my/file1' ]

assert [ ! -L '/.my/file2' ]
assert [ -f '/.my/file2' ]

assert [ ! -L '/.my-config.env' ]
assert [ -f '/.my-config.env' ]

sudo rm -r /.my /.my-config.env
}
35 changes: 35 additions & 0 deletions tests/usr/lib/ydf/components/package/ydf-package-service.i.bats
Original file line number Diff line number Diff line change
Expand Up @@ -437,3 +437,38 @@ Plugin '10ydfplugin' already added to /home/vedv/.yzsh-gen.env"

rm -r /home/vedv/.my /home/vedv/.my-config.env
}

# Tests for ydf::package_service::__instruction_rootcp()
@test "ydf::package_service::__instruction_rootcp() Should succeed" {
cd "${TEST_FIXTURES_DIR}/packages/14rootcp"

run ydf::package_service::__instruction_rootcp '14rootcp'

assert_success
assert_output "'/home/vedv/ydf/tests/fixtures/packages/14rootcp/rootcp/.my' -> '/.my'
'/home/vedv/ydf/tests/fixtures/packages/14rootcp/rootcp/.my/dir1' -> '/.my/dir1'
'/home/vedv/ydf/tests/fixtures/packages/14rootcp/rootcp/.my/dir1/file11' -> '/.my/dir1/file11'
'/home/vedv/ydf/tests/fixtures/packages/14rootcp/rootcp/.my/file1' -> '/.my/file1'
'/home/vedv/ydf/tests/fixtures/packages/14rootcp/rootcp/.my/file2' -> '/.my/file2'
'/home/vedv/ydf/tests/fixtures/packages/14rootcp/rootcp/.my-config.env' -> '/.my-config.env'"

assert [ ! -L '/.my' ]
assert [ -d '/.my' ]

assert [ ! -L '/.my/dir1' ]
assert [ -d '/.my/dir1' ]

assert [ ! -L '/.my/dir1/file11' ]
assert [ -f '/.my/dir1/file11' ]

assert [ ! -L '/.my/file1' ]
assert [ -f '/.my/file1' ]

assert [ ! -L '/.my/file2' ]
assert [ -f '/.my/file2' ]

assert [ ! -L '/.my-config.env' ]
assert [ -f '/.my-config.env' ]

sudo rm -r /.my /.my-config.env
}

0 comments on commit 1d38e92

Please sign in to comment.