This commit is contained in:
emmett1
2019-05-14 17:49:45 +08:00
parent e0305ad196
commit 7a9ef5f46a
3 changed files with 52 additions and 10 deletions

15
pkgadd
View File

@@ -232,7 +232,7 @@ if [ ! "$IGNORE_CONFLICT" ]; then
conflictedfile=yes
fi
fi
done < <(cat $TMP_PKGADD | grep -Ev '(.pkginfo|.pkginstall|.pkgreadme)' | grep -v '/$')
done < <(cat $TMP_PKGADD | grep -Ev ^.pkg* | grep -v '/$')
if [ "$conflictedfile" = "yes" ]; then
msgerr "File conflict found!"
@@ -262,7 +262,11 @@ fi
fi
)
installcmd="tar --keep-directory-symlink -p -x -v -f $PKGNAME -C ${ROOT:-/} --exclude=.pkginfo --exclude=.pkginstall --exclude=.pkgreadme --exclude=.pkgmkdirs"
for i in $(grep ^.pkg* $TMP_PKGADD); do
excludefile="$excludefile --exclude=$i"
done
installcmd="tar --keep-directory-symlink -p -x -v -f $PKGNAME -C ${ROOT:-/} $excludefile"
rm -f $TMP_PKGINSTALL $TMP_PKGINSTALL_BKP
$installcmd | while IFS=' ' read line; do
@@ -302,7 +306,12 @@ echo "version = $version" >> $INDEX_DIR/$name/.pkginfo
echo "release = $release" >> $INDEX_DIR/$name/.pkginfo
install -m644 $TMP_PKGINSTALL $INDEX_DIR/$name/.files
[ -f $TMP_PKGINSTALL_BKP ] && install -m644 $TMP_PKGINSTALL_BKP $INDEX_DIR/$name/.bkpfiles
tar -x -f $PKGNAME -C $INDEX_DIR/$name .pkginstall .pkgreadme .pkgmkdirs >/dev/null 2>&1
for ii in $(grep ^.pkg* $TMP_PKGADD); do
pkgfiles="$pkgfiles $ii"
done
tar -x -f $PKGNAME -C $INDEX_DIR/$name ${INCLUDEINPKG[@]} >/dev/null 2>&1
( cd $ROOT/
if [ ! "$NO_POSTINSTALL" ] && [ ! "$UPGRADE_PKG" ]; then

View File

@@ -340,11 +340,15 @@ backupconf() {
}
packaging() {
local FILE
local FILE f
[ -f install ] && install -m644 install $PKG/.pkginstall
[ -f readme ] && install -m644 readme $PKG/.pkgreadme
[ -f mkdirs ] && install -m644 mkdirs $PKG/.pkgmkdirs
for f in ${INCLUDEINPKG[@]}; do
[ -f $f ] && install -m644 $f $PKG/.pkg$f
done
#[ -f install ] && install -m644 install $PKG/.pkginstall
#[ -f readme ] && install -m644 readme $PKG/.pkgreadme
#[ -f mkdirs ] && install -m644 mkdirs $PKG/.pkgmkdirs
pushd $PKG >/dev/null
@@ -359,9 +363,9 @@ packaging() {
backupconf
fi
for FILE in .pkginstall .pkgreadme .pkgmkdirs; do
if [ -f $FILE ]; then
addtotar+=($FILE)
for FILE in ${INCLUDEINPKG[@]}; do
if [ -f .pkg$FILE ]; then
addtotar+=(.pkg$FILE)
fi
done
@@ -672,4 +676,6 @@ COMPRESSION_MODE="xz"
OPTIONS=(!libtool emptydirs strip zipman buildflags makeflags)
INCLUDEINPKG=(install readme mkdirs)
main "$@"

27
scratch
View File

@@ -460,6 +460,33 @@ scratch_foreignpkg() {
done
}
scratch_info() {
[ $1 ] || return 0
version="-"
release="-"
iver="-"
irel="-"
if $(isinstalled $1); then
iver=$(installed_pkg_info version $1)
irel=$(installed_pkg_info release $1)
INSTALLED=1
fi
portpath=$(getportpath $1)
if [ ! -z $portpath ]; then
. $portpath/$BUILD_SCRIPT
PORTEXIST=1
else
portpath="-"
fi
if [ "$INSTALLED" != 1 ] && [ "$PORTEXIST" != 1 ]; then
return 0
fi
echo -e "name: \t\t$1 \t$([[ $PORTEXIST = 1 ]] || echo \( foreignpkg \))"
echo -e "version: \t$version \t( installed: $iver )"
echo -e "release: \t$release \t( installed: $irel )"
echo -e "port path: \t$portpath"
}
scratch_trigger() {
needroot "Run trigger"
if [[ -z "$@" ]]; then