6 votos

Comando para averiguar el número de versión de un archivo .pkg

¿Alguien sabe cómo recuperar el número de versión de un archivo .pkg que aún no está instalado?

Me gustaría usar algo como pkgutil --pkg-info pero eso sólo funciona para los paquetes instalados.

También he probado installer -pkginfo -verbose , pero eso no muestra el número de versión.

¿Existe un comando incorporado para hacer esto, o alternativamente, podría alguien sugerir un one-liner por favor?

Gracias.

5voto

d3Xt3r Puntos 14

Lo mejor que se me ocurrió fue esto:

pkgutil --expand package.pkg /tmp/pkg; cat /tmp/pkg/PackageInfo | grep ./Applications | grep -m 1 .app\" | awk '{ print $3, $2 }'; rm -rf /tmp/pkg

No es la solución más elegante, así que sigo buscando una forma de hacerlo sin tener que extraer primero el .pkg.

0 votos

¿Ha encontrado ya alguna solución mejor? No veo ningún efecto al cambiar el número de versión del paquete cuando se construye el archivo pkg. El paquete final siempre parece reemplazar los archivos existentes de todos modos, ¿no es así?

3voto

Marek R Puntos 141

Variación de la respuesta de @d3Xt3r:

tar xOvf PackageName.pkg output.pkg/PackageInfo 2>/dev/null | grep '<pkg-info' \
    | sed "s#.* version=\"\([0-9\.]*\)\".*#\1#"

La ventaja es que sólo se trata de un procesamiento de tuberías.

Tenga en cuenta que mi paquete tenía una estructura diferente, hay un directorio extra output.pkg que contiene el archivo PackageInfo

0voto

lwei Puntos 5

Para un paquete estructurado como se indica a continuación,

PackageName.pkg
└── Package.pkg
    └── PackageInfo

adaptado de @Marek R

el comando para extraer la información de la versión en línea es:

tar xOvf "PackageName.pkg" "Package.pkg/PackageInfo" 2>/dev/null | fgrep "<pkg-info" | grep -Po '(?<!-)version="[^"]+"'

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X