RexOps / RexOps/Rex

rexify --bundle recursively copies its payload on Darwin

Open
#826 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Perl
Stars
737
Forks
214
PR merge metrics
No merged PRs in 30d

Description

The rex --bundle command executes cp -vR * rex.payload/. With GNU cp, it prevents copying directories into itself (tested on CentOS 6):

cp: cannot copy a directory, `rex.payload', into itself, `rex.payload/rex.payload'

With Darwin's cp command, it does not prevent this, so you get stuck in an infinite copy loop.

We could use rsync -av --exclude=rex.payload * rex.payload/ instead of using cp to fix this. Is there a better way?

Here is my setup:

$ uname -v
Darwin Kernel Version 15.0.0: Sat Sep 19 15:53:46 PDT 2015; root:xnu-3247.10.11~1/RELEASE_X86_64

$ rex -v
(R)?ex 1.3.3

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the rex --bundle command and reproduce the recursive-copy behavior on Darwin, comparing it with the documented GNU cp behavior. The work is done when bundling no longer copies rex.payload into itself or enters an infinite copy loop, while preserving the intended payload contents.

Written by the indexing model from the issue text.

Assessment

Tech stack
perl
Domain
cli, devops
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.