Skip to content

Commit

Permalink
add second param to add_full_dir to allow filtering files
Browse files Browse the repository at this point in the history
Use this to only add files matching *.conf in the modconf hook.

Fixes FS#39994.
  • Loading branch information
falconindy committed Jun 21, 2014
1 parent 8ac740c commit 02d387b
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 6 deletions.
7 changes: 4 additions & 3 deletions functions
Original file line number Diff line number Diff line change
Expand Up @@ -414,19 +414,20 @@ add_full_dir() {
# Add a directory and all its contents, recursively, to the initcpio image.
# No parsing is performed and the contents of the directory is added as is.
# $1: path to directory
# $2: glob pattern to filter file additions (optional)

local f=
local f= filter=${2:-*}

if [[ -n $1 && -d $1 ]]; then
add_dir "$1"

for f in "$1"/*; do
if [[ -L $f ]]; then
add_symlink "$f" "$(readlink "$f")"
[[ $f = $filter ]] && add_symlink "$f" "$(readlink "$f")"
elif [[ -d $f ]]; then
add_full_dir "$f"
elif [[ -f $f ]]; then
add_file "$f"
[[ $f = $filter ]] && add_file "$f"
fi
done
fi
Expand Down
4 changes: 2 additions & 2 deletions install/modconf
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
#!/bin/bash

build() {
add_full_dir /etc/modprobe.d
add_full_dir /usr/lib/modprobe.d
add_full_dir /etc/modprobe.d '*.conf'
add_full_dir /usr/lib/modprobe.d '*.conf'
}

help() {
Expand Down
5 changes: 4 additions & 1 deletion man/mkinitcpio.8.txt
Original file line number Diff line number Diff line change
Expand Up @@ -138,12 +138,15 @@ functions exist to facilitate this.

Adds a directory and its parents to the image.

*add_full_dir* 'directory'::
*add_full_dir* 'directory' [ 'glob' ]::

Recursively adds a directory to the image by walking the given path and
calling *add_file*, *add_dir*, and *add_symlink* accordingly. This function
will not follow symlinks, nor will it add the targets of symlinks.

If the 'glob' argument is passed, only files and symlinks matching this glob
will be added.

*add_symlink* 'path' [ 'link-target' ]::

Adds a symlink to the image at the specified `path`, optionally pointing to
Expand Down

0 comments on commit 02d387b

Please sign in to comment.