I know how to read a file using bash, but what I want to do is use each
line in the file as a dependency to be passed into another command, but I
want all the lines read in and structured as arguments for the other
command.

I'm using Effing Package Management <https://github.com/jordansissel/fpm> (FPM)
to test out building some RPMs before I go through the process of learning
to do it with Koji or something else. FPM has proven to be very simple for
me, which is why I'm using it. When executing it, it has a flag that
denotes a dependency and what version is required. It looks like this:

-d "{dependency-package} >= {version}"

I can have written as the package, version, and operator, so I don't have
to try to parse or do any special checks to construct the line. So I want
to be able to read each line, pre-pend '-d' then wrap it in quotes, then
append a slash to prevent it from executing. There is a parameter after all
the dependencies so, so I don't have to leave the last slash off. The whole
command would look like this:

fpm -s dir -t rpm -n {package} -v {version} -C /path/to/{package}/output \
  -p {package}-VERSION.fc21.ARCH.rpm \
  -d "{dependency-package} >= {version}" \
  -d "{dependency-package} >= {version}" \
  usr

Sorry if it's long winded or a little difficult to understand, I wasn't
sure how to phrase everything and hope it came out clear.

/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/

Reply via email to