3 # Make sure that the working directory is clean and does not have untracked
4 # files; otherwise our semi-automatic finding the new files will not work!
13 git diff-files
--quiet &&
14 git diff-index
--cached --quiet HEAD
&&
15 others
="$(git ls-files --exclude-from=.gitignore \
16 --exclude-per-directory=.gitignore --others)" &&
18 die
"State not pristine enough for successful package update"
21 # Remove old files stored in fileList.txt
23 test -z "$FILELIST" && {
24 echo "No file list specified for pre_install"
27 test -s "$FILELIST" &&
28 cat "$FILELIST" |
(cd / && xargs git
--ignore-unmatch rm) ||
34 (cd / && git add .
) ||
exit
36 git
diff --cached --diff-filter=AM
--name-only |
37 sed -e "s/^/\//" > "$FILELIST" ||
40 git add
"$FILELIST" ||
exit
42 echo "Successfully built and installed $package $version"
43 echo "After checking the result, please commit (possibly with --amend)"
49 die
"Script did not specify an archive"
51 echo "Downloading $tar ..."
52 curl
$url/$tar -o $tar ||
exit
58 die
"Script did not specify a directory"
60 echo "Unpacking $tar ..."
77 die
"Script did not specify a directory"
78 test -f "$d/Makefile" ||
79 (cd "$d" && .
/configure
$configure_options) ||
exit
84 die
"Script did not specify a directory"
85 (cd "$d" && make) ||
exit
88 download_extract_setup_and_compile
() {