# pm (Perl module via CPAN)
# fd (freedesktop.org)
# -o Option specific to mode
-# -s Subdirectory on server
+# -s DIR Subdirectory on server
+# -v NUM Subdirectory on server is equal to package version. If -s option is specified, then
+# append version number to value of -s argument:
+# NUM= Full version number
+# NUM=1 First number of package version
+# NUM=2 First two numbers of package version
+# Ex: fpkg -s "v" -v 2 mypkg-1.2.3 http://mypkg.com would fetch from url:
+# http://mypkg.com/v1.2/mypkg-1.2.3.tar.bz2
# -w First erase destination file if it exists (except in test mode)
fpkg()
{
local MODE_OPT=""
local SRC_DIR=""
local FD_SUBDIR_FINAL=""
+ local VARG=""
+ unset VOPTION
unset ERASE_FIRST
- while getopts "d:e:f:m:o:s:w" flag ;do
+ while getopts "d:e:f:m:o:s:v:w" flag ;do
case ${flag} in
d)
# Fetch directory (where to put file)
s)
SRC_DIR=${OPTARG}
;;
+ v)
+ VOPTION="y"
+ VARG=${OPTARG}
+ ;;
w)
ERASE_FIRST="y"
;;
local URL=${2}
fi
+ if [ -n "${VOPTION}" ]; then
+ # Append version number to SRC_DIR (if specified)
+ case ${VARG} in
+ 0)
+ # Full version number
+ SRC_DIR+="$(get_pkg_ver ${PACK})"
+ ;;
+ 1)
+ SRC_DIR+="$(get_pkg_ver1 ${PACK})"
+ ;;
+ 2)
+ SRC_DIR+="$(get_pkg_ver2 ${PACK})"
+ ;;
+ 3)
+ SRC_DIR+="$(get_pkg_ver3 ${PACK})"
+ ;;
+ *)
+ echo "${FUNCNAME}(), invalid -v argument: ${VARG}"
+ return 1
+ ;;
+ esac
+ fi
+
if [ -n "${MODE}" ]; then
case ${MODE} in
gnu)