Add metadata to packages

master
Ismael Barros 2013-04-01 18:57:42 +02:00
parent 3cc1667d04
commit 8ad4433548
5 changed files with 40 additions and 21 deletions

View File

@ -3,3 +3,8 @@ Name=
Exec=AppRun
Icon=AppRun.png
StartupNotify=true
X-AppImage-Package=
X-AppImage-Title=
X-AppImage-Version=
X-AppImage-Release=
X-AppImage-URL=

View File

@ -1,6 +1,7 @@
#!/bin/bash
pg4l_dir=$(dirname $(readlink -f $0))
source "$pg4l_dir/util.sh"
if [ -z "$*" ]; then
echo "Usage: $0 <package>"
@ -10,20 +11,6 @@ fi
OIFS=$IFS
NIFS=$'\n'
function die() { echo $@; exit 1; }
function trimp() { sed -e 's/^[ \t]*//g' -e 's/[ \t]*$//g'; }
function trim() { echo $@ | trimp; }
function xml_extract_node() {
local node="$1"
local file="$2"
grep -Pzo "(?s)<$node.*?>.*?</$node>" "$file"
}
function xml_extract_property() {
local property="$1"
local line="$2"
echo "$line" | egrep -o "$property=\"[^\"]*\"" | cut -d\" -f2
}
[ -z "$*" ] && {
echo "Usage: "

View File

@ -1,6 +1,7 @@
#!/bin/bash
pg4l_dir=$(dirname $(readlink -f $0))
source "$pg4l_dir/util.sh"
if [ -z "$*" ]; then
echo "Usage: $0 <package>"
@ -11,9 +12,6 @@ OIFS=$IFS
NIFS=$'\n'
export _POSIX2_VERSION=199209 # Needed to unpack old loki packages
function die() { echo $@; exit 1; }
function trimp() { sed -e 's/^[ \t]*//g' -e 's/[ \t]*$//g'; }
function trim() { echo $@ | trimp; }
function extract_property() {
local property="$1"
local file="$2"

View File

@ -1,6 +1,7 @@
#!/bin/bash
pg4l_dir=$(dirname $(readlink -f $0))
source "$pg4l_dir/util.sh"
shopt -s extglob # Enable extended globs
@ -24,8 +25,9 @@ case $(cat /etc/issue | head -n 1) in
find_dependencies_package() { pacman -Si $1 | egrep "Depends On" | grep -v None | cut -d: -f2; }
find_dependencies_file() { pacman -Qip $1 | egrep "Depends On" | grep -v None | cut -d: -f2; }
find_version_file() { v=$(pacman -Qip $1 | egrep "Version" | egrep -v None | cut -d: -f2); echo ${v%-*}; }
file_url_file() { pacman -Qip $1 | egrep "URL" | egrep -v None | cut -d: -f2- | trimp; }
find_package_file() { v=$(pacman -Qip $1 | egrep "Name" | egrep -v None | cut -d: -f2); echo $v | sed -e "s/^ *//"; }
find_file_for_package() { ls -1t /var/cache/pacman/pkg/$1-+([^-])-+([0-9])-+([^.]).pkg.tar.xz 2>/dev/null| head -n1; }
find_file_for_package() { ls -1t /var/cache/pacman/pkg/$1-+([^-])-+([0-9\.])-+([^.]).pkg.tar.xz 2>/dev/null| head -n1; }
uncompress_package_file() { tar -xf $1; }
download_package() {
case "$1" in
@ -75,8 +77,10 @@ AUTOCOPYLIBS=1
MainPackage=
MainPackageExec=
MainPackageVersion=
MainPackageURL=
Suffix=-archlinux
declare -a pkgs=()
@ -185,8 +189,10 @@ done
for i in $files; do
if [ ! "$MainPackageVersion" ]; then
MainPackage=$(basename $i)
MainPackageVersion=$(find_version_file $i)
echo "Assuming main package is $i with version $MainPackageVersion"
MainPackageURL=$(file_url_file $i)
echo "Assuming main package is $MainPackage with version $MainPackageVersion"
if [ "$CREATE_APPDIR" ]; then
package_name=$(find_package_file $i)
@ -256,7 +262,13 @@ fi
echo "Creating AppRun.desktop from '$PackageName $MainPackageVersion' ($i, Exec=$PackageExec)..."
cp $pg4l_dir/AppRun.desktop .
sed -e"s/Name=.*/Name=$PackageName $MainPackageVersion-r1$Suffix/" AppRun.desktop -i
desktopFile_modifyParameter "AppRun.desktop" "Name" "$PackageName $MainPackageVersion-r1$Suffix"
desktopFile_modifyParameter "AppRun.desktop" "Name" "$PackageName $MainPackageVersion-r1$Suffix"
desktopFile_modifyParameter "AppRun.desktop" "X-AppImage-Package" "$MainPackage"
desktopFile_modifyParameter "AppRun.desktop" "X-AppImage-Title" "$PackageName"
desktopFile_modifyParameter "AppRun.desktop" "X-AppImage-Version" "$MainPackageVersion"
desktopFile_modifyParameter "AppRun.desktop" "X-AppImage-Release" "1"
desktopFile_modifyParameter "AppRun.desktop" "X-AppImage-URL" "$MainPackageURL"
}
done

19
util.sh
View File

@ -1,5 +1,22 @@
#!/bin/sh
function die() { echo $@; exit 1; }
function trimp() { sed -e 's/^[ \t]*//g' -e 's/[ \t]*$//g'; }
function trim() { echo $@ | trimp; }
desktopFile_modifyParameter() { file=$1; parameter=$2; value=$3; sed -i -e "s|${parameter}=.*|${parameter}=$value|" "$file"; }
function xml_extract_node() {
local node="$1"
local file="$2"
grep -Pzo "(?s)<$node.*?>.*?</$node>" "$file"
}
function xml_extract_property() {
local property="$1"
local line="$2"
echo "$line" | egrep -o "$property=\"[^\"]*\"" | cut -d\" -f2
}
get_resolution() { xrandr | grep \* | cut -d' ' -f4; }
set_resolution() { xrandr -s $1; }
@ -74,4 +91,4 @@ build_report()
fi
echo "</body></html>"
}
}