Changeset 8bea84f


Ignore:
Timestamp:
10/08/13 09:34:49 (10 months ago)
Author:
Kris Moore <kris@…>
Branches:
master, 9.2-release, releng/10.0, releng/10.0.1, releng/10.0.2
Children:
607d79b
Parents:
b5dbe14
Message:

Update pbi-manager10

  • Allow using "short-names" for pbi_info / pbi_delete / pbi_update, this lets us do something like "pbi_info nginx" and it'll match the first nginx it finds
  • Add PBI_LICENSE / PBI_TAGS / PBI_SHORTDESC / PBI_DESC as optional variables we can set in pbi.conf. LIC / DESC / SHORTDESC will be pulled from a port automatically
  • When we create a PBI using a module / confdir, we will include the confdir in the PBI directory under /usr/pbi/<pbidir>/pbiconf. This will allow easy re-creation of a PBI from the port/packages
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src-sh/pbi-manager10/pbi-manager

    r44335dc r8bea84f  
    374374                 *)     if [ $# -gt 1 ]; then usage_delete_pbi; fi 
    375375                        if [ ! -e "${PBI_DBAPPDIR}/${1}" ] ; then 
    376                                 exit_err "can't find installed pbi (${1})" 
     376                                find_pbi_namematch "$1" 
     377                                if [ -z "$PBI_NAMEMATCH" ] ; then 
     378                                        exit_err "can't find installed pbi (${1})" 
     379                                fi 
     380                                PBI_DELETENAME="$PBI_NAMEMATCH" 
     381                        else 
     382                                PBI_DELETENAME="$1" 
    377383                        fi 
    378                         PBI_DELETENAME="$1" 
    379384                        ;; 
    380385                esac 
     
    382387        done 
    383388        if [ -z "${PBI_DELETENAME}" ];then usage_delete_pbi; fi 
     389} 
     390 
     391find_pbi_namematch() 
     392{ 
     393        PBI_NAMEMATCH="" 
     394        for i in `ls -d ${PBI_DBAPPDIR}/* 2>/dev/null` 
     395        do 
     396                if [ ! -e "$i/pbi_name" ] ; then continue ; fi 
     397                if [ "`cat $i/pbi_name`" = "$1" ] ; then  
     398                        PBI_NAMEMATCH="`basename ${i}`" 
     399                        break 
     400                fi 
     401        done 
    384402} 
    385403 
     
    399417                        if [ $# -gt 1 ]; then usage_icon_pbi; fi 
    400418                        if [ ! -e "${PBI_DBAPPDIR}/${1}" ] ; then 
    401                                 exit_err "can't find installed pbi (${1})" 
     419                                find_pbi_namematch "$1" 
     420                                if [ -z "$PBI_NAMEMATCH" ] ; then 
     421                                        exit_err "can't find installed pbi (${1})" 
     422                                fi 
     423                                PBI_ICONTARGETAPP="${PBI_NAMEMATCH}" 
     424                        else 
     425                                PBI_ICONTARGETAPP="$1" 
    402426                        fi 
    403                         PBI_ICONTARGETAPP="$1" 
    404427                        ;; 
    405428                esac 
     
    444467                        if [ $# -gt 1 ]; then usage_info_pbi; fi 
    445468                        if [ ! -e "${PBI_DBAPPDIR}/${1}" ] ; then 
    446                                 exit_err "can't find installed pbi (${1})" 
     469                                find_pbi_namematch "$1" 
     470                                if [ -z "$PBI_NAMEMATCH" ] ; then 
     471                                        exit_err "can't find installed pbi (${1})" 
     472                                fi 
     473                                PBI_INFONAME="$PBI_NAMEMATCH" 
     474                        else 
     475                                PBI_INFONAME="$1" 
    447476                        fi 
    448                         PBI_INFONAME="$1" 
    449477                        ;; 
    450478                esac 
     
    10971125                        if [ "$PBI_CBACKUP" = "YES" ] ; then 
    10981126                                if [ ! -e "${PBI_DBAPPDIR}/${1}" ] ; then 
    1099                                         exit_err "can't find installed pbi (${1})" 
     1127                                        find_pbi_namematch "$1" 
     1128                                        if [ -z "$PBI_NAMEMATCH" ] ; then 
     1129                                                exit_err "can't find installed pbi (${1})" 
     1130                                        fi 
     1131                                        PBI_CBACKUPTARGET="${PBI_NAMEMATCH}" 
     1132                                        PBI_PROGDIRPATH="${PBI_NAMEMATCH}" 
     1133                                else 
     1134                                        PBI_CBACKUPTARGET="${1}" 
     1135                                        PBI_PROGDIRPATH="${1}" 
    11001136                                fi 
    1101                                 PBI_CBACKUPTARGET="${1}" 
    1102                                 PBI_PROGDIRPATH="${1}" 
    11031137                        else 
    11041138                                get_abspath "$1" 
     
    12501284                        if [ -n "$PBI_UPDATEAPP" ] ; then usage_update_pbi ; fi 
    12511285                        if [ ! -e "${PBI_DBAPPDIR}/${1}" ] ; then 
    1252                                 exit_err "can't find installed pbi (${1})" 
     1286                                find_pbi_namematch "$1" 
     1287                                if [ -z "$PBI_NAMEMATCH" ] ; then 
     1288                                        exit_err "can't find installed pbi (${1})" 
     1289                                fi 
     1290                                PBI_UPDATEAPP="$PBI_NAMEMATCH" 
     1291                        else 
     1292                                PBI_UPDATEAPP="$1" 
    12531293                        fi 
    1254                         PBI_UPDATEAPP="$1" 
    12551294                        ;; 
    12561295                esac 
     
    28322871        esac 
    28332872 
     2873        if [ -n "$PBI_LICENSE" ] ; then 
     2874                echo "License: $PBI_LICENSE" 
     2875        fi 
     2876 
    28342877        if [ -n "${PBI_REPO}" ] ; then 
    28352878                local _rDesc="`cat ${PBI_DBREPODIR}/*.${PBI_REPO} | grep "Desc:" | sed 's|Desc: ||g'`" 
     
    30013044        PBI_REQUIRESROOT="" 
    30023045        PBI_SIGVALID="" 
     3046        PBI_DESC="" 
     3047        PBI_SHORTDESC="" 
     3048        PBI_TAGS="" 
     3049        PBI_LICENSE="" 
    30033050 
    30043051        PBI_ORIGPROGDIRPATH="`cat ${1}/pbi_defaultpath`" 
     
    30133060        PBI_ARCHIVE_COUNT="`cat ${1}/pbi_archivecount 2>/dev/null`" 
    30143061        PBI_ARCHIVE_CHECKSUM="`cat ${1}/pbi_archivesum 2>/dev/null`" 
     3062 
     3063        if [ -e "${1}/pbi_license" ] ; then 
     3064                PBI_LICENSE="`cat ${1}/pbi_license`" 
     3065        fi 
     3066        if [ -e "${1}/pbi_tags" ] ; then 
     3067                PBI_TAGS="`cat ${1}/pbi_tags`" 
     3068        fi 
     3069        if [ -e "${1}/pbi_desc" ] ; then 
     3070                PBI_DESC="`cat ${1}/pbi_desc`" 
     3071        fi 
     3072        if [ -e "${1}/pbi_shortdesc" ] ; then 
     3073                PBI_SHORTDESC="`cat ${1}/pbi_shortdesc`" 
     3074        fi 
    30153075 
    30163076        # Check if auto-update is enabled 
     
    40704130        mkdir -p ${PBI_STAGEDIR}/run 
    40714131 
     4132        # If we built with a module / conf directory, lets include it 
     4133        if [ -d "${PBI_CONFDIR}" ] ; then cp -r ${PBI_CONFDIR} ${PBI_STAGEDIR}/pbiconf; fi 
     4134 
    40724135        local _excOpts="" 
    40734136 
     
    42244287        if [ -n "$PBI_CREATE_USERMETA" ] ; then 
    42254288                cp "$PBI_CREATE_USERMETA" "${PBI_HEADERDIR}/${PBI_USERMETAFILE}" 
     4289        fi 
     4290 
     4291        # Check for additional meta-data 
     4292        if [ -n "$PBI_LICENSE" ] ; then 
     4293                echo "$PBI_LICENSE" > ${PBI_HEADERDIR}/pbi_license 
     4294        fi 
     4295        if [ -n "$PBI_TAGS" ] ; then 
     4296                echo "$PBI_TAGS" > ${PBI_HEADERDIR}/pbi_tags 
     4297        fi 
     4298        if [ -n "$PBI_DESC" ] ; then 
     4299                echo "$PBI_DESC" > ${PBI_HEADERDIR}/pbi_desc 
     4300        fi 
     4301        if [ -n "$PBI_SHORTDESC" ] ; then 
     4302                echo "$PBI_SHORTDESC" > ${PBI_HEADERDIR}/pbi_shortdesc 
    42264303        fi 
    42274304 
     
    67356812        mk_auto_ext_linksfile 
    67366813 
    6737         # Check if we created a linux app, and need to copy files for it 
    6738         #auto_copy_linuxbase 
    6739  
    67406814        # Break here if we are only doing a build 
    67416815        if [ "${PBI_BUILDONLY}" = "YES" ] ; then exit_trap; fi 
     6816 
     6817        # Load any extra meta-data from the package 
     6818        load_pkg_metadata 
    67426819 
    67436820        # Start creation of PBI 
     
    67496826 
    67506827        exit 0 
     6828} 
     6829 
     6830# Loads some optional meta-data from the package 
     6831load_pkg_metadata() 
     6832{ 
     6833        if [ -z "$PBI_LICENSE" ] ; then 
     6834                PBI_LICENSE="`pkg query '%L' ${PBI_MAKEPORT}`" 
     6835        fi 
     6836        if [ -z "$PBI_SHORTDESC" ] ; then 
     6837                PBI_SHORTDESC="`pkg query '%c' ${PBI_MAKEPORT}`" 
     6838        fi 
     6839        if [ -z "$PBI_DESC" ] ; then 
     6840                PBI_DESC="`pkg query '%e' ${PBI_MAKEPORT}`" 
     6841        fi 
     6842        if [ -z "$PBI_PROGWEB" ] ; then 
     6843                PBI_PROGWEB="`pkg query '%w' ${PBI_MAKEPORT}`" 
     6844        fi 
    67516845} 
    67526846 
Note: See TracChangeset for help on using the changeset viewer.