Accepting request 250106 from Base:System
update to rpm-4.12.0.1 OBS-URL: https://build.opensuse.org/request/show/250106 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/rpm?expand=0&rev=229
This commit is contained in:
commit
23de9021bc
@ -1,26 +1,26 @@
|
|||||||
--- tools/elfdeps.c.orig 2013-01-30 15:33:12.000000000 +0000
|
--- ./tools/elfdeps.c.orig 2014-06-26 06:51:55.768815677 +0000
|
||||||
+++ tools/elfdeps.c 2013-07-12 12:21:47.000000000 +0000
|
+++ ./tools/elfdeps.c 2014-08-04 13:02:16.981081591 +0000
|
||||||
@@ -15,6 +15,7 @@
|
@@ -17,6 +17,7 @@ int soname_only = 0;
|
||||||
int filter_private = 0;
|
|
||||||
int soname_only = 0;
|
|
||||||
int fake_soname = 1;
|
int fake_soname = 1;
|
||||||
|
int filter_soname = 1;
|
||||||
|
int require_interp = 0;
|
||||||
+int assume_exec = 0;
|
+int assume_exec = 0;
|
||||||
|
|
||||||
typedef struct elfInfo_s {
|
typedef struct elfInfo_s {
|
||||||
Elf *elf;
|
Elf *elf;
|
||||||
@@ -235,7 +236,7 @@ static int processFile(const char *fn, i
|
@@ -299,7 +300,7 @@ static int processFile(const char *fn, i
|
||||||
if (ehdr->e_type == ET_DYN || ehdr->e_type == ET_EXEC) {
|
if (ehdr->e_type == ET_DYN || ehdr->e_type == ET_EXEC) {
|
||||||
ei->marker = mkmarker(ehdr);
|
ei->marker = mkmarker(ehdr);
|
||||||
ei->isDSO = (ehdr->e_type == ET_DYN);
|
ei->isDSO = (ehdr->e_type == ET_DYN);
|
||||||
- ei->isExec = (st.st_mode & (S_IXUSR|S_IXGRP|S_IXOTH));
|
- ei->isExec = (st.st_mode & (S_IXUSR|S_IXGRP|S_IXOTH));
|
||||||
+ ei->isExec = assume_exec || (st.st_mode & (S_IXUSR|S_IXGRP|S_IXOTH));
|
+ ei->isExec = assume_exec || (st.st_mode & (S_IXUSR|S_IXGRP|S_IXOTH));
|
||||||
|
|
||||||
|
processProgHeaders(ei, ehdr);
|
||||||
processSections(ei);
|
processSections(ei);
|
||||||
}
|
@@ -364,6 +365,7 @@ int main(int argc, char *argv[])
|
||||||
@@ -292,6 +293,7 @@ int main(int argc, char *argv[])
|
|
||||||
{ "filter-private", 0, POPT_ARG_VAL, &filter_private, -1, NULL, NULL },
|
|
||||||
{ "soname-only", 0, POPT_ARG_VAL, &soname_only, -1, NULL, NULL },
|
|
||||||
{ "no-fake-soname", 0, POPT_ARG_VAL, &fake_soname, 0, NULL, NULL },
|
{ "no-fake-soname", 0, POPT_ARG_VAL, &fake_soname, 0, NULL, NULL },
|
||||||
|
{ "no-filter-soname", 0, POPT_ARG_VAL, &filter_soname, 0, NULL, NULL },
|
||||||
|
{ "require-interp", 0, POPT_ARG_VAL, &require_interp, -1, NULL, NULL },
|
||||||
+ { "assume-exec", 0, POPT_ARG_VAL, &assume_exec, -1, NULL, NULL },
|
+ { "assume-exec", 0, POPT_ARG_VAL, &assume_exec, -1, NULL, NULL },
|
||||||
POPT_AUTOHELP
|
POPT_AUTOHELP
|
||||||
POPT_TABLEEND
|
POPT_TABLEEND
|
||||||
|
261
autodeps.diff
261
autodeps.diff
@ -1,261 +0,0 @@
|
|||||||
--- ./autodeps/linux.prov.orig 2011-07-12 11:28:13.000000000 +0000
|
|
||||||
+++ ./autodeps/linux.prov 2011-07-18 16:47:39.000000000 +0000
|
|
||||||
@@ -2,60 +2,72 @@
|
|
||||||
|
|
||||||
# This script reads filenames from STDIN and outputs any relevant provides
|
|
||||||
# information that needs to be included in the package.
|
|
||||||
+IFS=$'\n'
|
|
||||||
+filelist=($(cat))
|
|
||||||
|
|
||||||
-filelist=`sed "s/['\"]/\\\&/g"`
|
|
||||||
-
|
|
||||||
-solist=$(echo $filelist | grep "\\.so" | grep -v "^/lib/ld.so" | \
|
|
||||||
- xargs file -L 2>/dev/null | grep "ELF.*shared object" | cut -d: -f1)
|
|
||||||
+solist=($(printf "%s\n" "${filelist[@]}" | grep "\\.so" | grep -v "^/lib/ld.so" | \
|
|
||||||
+ tr '\n' '\0' | xargs -0 -r file -L | grep "ELF.*shared object" | \
|
|
||||||
+ cut -d: -f1))
|
|
||||||
pythonlist=
|
|
||||||
tcllist=
|
|
||||||
+monolist=($(printf "%s\n" "${filelist[@]}" | egrep "\\.(exe|dll)\$"))
|
|
||||||
|
|
||||||
#
|
|
||||||
# --- Alpha does not mark 64bit dependencies
|
|
||||||
case `uname -m` in
|
|
||||||
- alpha*) mark64="" ;;
|
|
||||||
- *) mark64="()(64bit)" ;;
|
|
||||||
+ alpha*) mark64=false ;;
|
|
||||||
+ *) mark64=true ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
#
|
|
||||||
# --- Library sonames and weak symbol versions (from glibc).
|
|
||||||
-for f in $solist; do
|
|
||||||
- soname=$(objdump -p $f | awk '/SONAME/ {print $2}')
|
|
||||||
+for f in "${solist[@]}"; do
|
|
||||||
+ soname=$(objdump -p "$f" | awk '/SONAME/ {print $2}')
|
|
||||||
+ [ -n "$soname" -a -L "$f" ] && continue
|
|
||||||
+ [ -z "$soname" ] && soname="${f##*/}"
|
|
||||||
|
|
||||||
- lib64=`if file -L $f 2>/dev/null | \
|
|
||||||
- grep "ELF 64-bit" >/dev/null; then echo "$mark64"; fi`
|
|
||||||
- if [ "$soname" != "" ]; then
|
|
||||||
- if [ ! -L $f ]; then
|
|
||||||
- echo $soname$lib64
|
|
||||||
- objdump -p $f | awk '
|
|
||||||
- BEGIN { START=0 ; }
|
|
||||||
- /Version definitions:/ { START=1; }
|
|
||||||
- /^[0-9]/ && (START==1) { print $4; }
|
|
||||||
- /^$/ { START=0; }
|
|
||||||
- ' | \
|
|
||||||
- grep -v $soname | \
|
|
||||||
- while read symbol ; do
|
|
||||||
- echo "$soname($symbol)`echo $lib64 | sed 's/()//'`"
|
|
||||||
- done
|
|
||||||
- fi
|
|
||||||
+ if $mark64 && file -L "$f" 2>/dev/null | grep "ELF 64-bit" >/dev/null; then
|
|
||||||
+ lib64="()(64bit)" slib64="(64bit)"
|
|
||||||
else
|
|
||||||
- echo ${f##*/}$lib64
|
|
||||||
+ lib64= slib64=
|
|
||||||
fi
|
|
||||||
+ echo "$soname$lib64"
|
|
||||||
+ objdump -p "$f" | awk '
|
|
||||||
+ BEGIN { START=0 ; }
|
|
||||||
+ /Version definitions:/ { START=1; }
|
|
||||||
+ /^[0-9]/ && (START==1) { print $4; }
|
|
||||||
+ /^$/ { START=0; }
|
|
||||||
+ ' | \
|
|
||||||
+ while read symbol ; do
|
|
||||||
+ echo "$soname($symbol)$slib64"
|
|
||||||
+ done
|
|
||||||
done | sort -u
|
|
||||||
|
|
||||||
#
|
|
||||||
# --- Perl modules.
|
|
||||||
[ -x /usr/lib/rpm/perl.prov ] &&
|
|
||||||
- echo $filelist | tr '[:blank:]' \\n | grep '\.pm$' | /usr/lib/rpm/perl.prov | sort -u
|
|
||||||
+ printf "%s\n" "${filelist[@]}" | grep '\.pm$' | /usr/lib/rpm/perl.prov | sort -u
|
|
||||||
|
|
||||||
#
|
|
||||||
# --- Python modules.
|
|
||||||
[ -x /usr/lib/rpm/python.prov -a -n "$pythonlist" ] &&
|
|
||||||
- echo $pythonlist | tr '[:blank:]' \\n | /usr/lib/rpm/python.prov | sort -u
|
|
||||||
+ printf "%s\n" "${pythonlist[@]}" | /usr/lib/rpm/python.prov | sort -u
|
|
||||||
|
|
||||||
#
|
|
||||||
# --- Tcl modules.
|
|
||||||
[ -x /usr/lib/rpm/tcl.prov -a -n "$tcllist" ] &&
|
|
||||||
- echo $tcllist | tr '[:blank:]' \\n | /usr/lib/rpm/tcl.prov | sort -u
|
|
||||||
+ printf "%s\n" "${tcllist[@]}" | /usr/lib/rpm/tcl.prov | sort -u
|
|
||||||
+
|
|
||||||
+#
|
|
||||||
+# --- Mono exes/dlls
|
|
||||||
+: ${MONO_PREFIX=/usr}
|
|
||||||
+if [ -x $MONO_PREFIX/bin/mono -a -n "$monolist" ] ; then
|
|
||||||
+ printf "%s\n" "${monolist[@]}" | MONO_PATH=$MONO_PREFIX/lib${MONO_PATH:+:$MONO_PATH} prefix=$MONO_PREFIX $MONO_PREFIX/bin/mono-find-provides || echo "WARNING: MONO RPM PROVIDES WERE NOT GENERATED FOR THIS BUILD!!" 1>&2
|
|
||||||
+fi
|
|
||||||
+
|
|
||||||
+#
|
|
||||||
+# --- Kernel module exported symbols
|
|
||||||
+[ -x /usr/lib/rpm/find-provides.ksyms ] &&
|
|
||||||
+ printf "%s\n" "${filelist[@]}" | /usr/lib/rpm/find-provides.ksyms "$@"
|
|
||||||
|
|
||||||
exit 0
|
|
||||||
--- ./autodeps/linux.req.orig 2011-07-15 09:32:41.000000000 +0000
|
|
||||||
+++ ./autodeps/linux.req 2011-07-18 16:51:24.000000000 +0000
|
|
||||||
@@ -18,20 +18,21 @@ fi
|
|
||||||
|
|
||||||
#
|
|
||||||
# --- Grab the file manifest and classify files.
|
|
||||||
-#filelist=`sed "s/['\"]/\\\&/g"`
|
|
||||||
-filelist=`sed "s/[]['\"*?{}]/\\\\\&/g"`
|
|
||||||
-exelist=`echo $filelist | xargs -r file | \
|
|
||||||
+#filelist=`sed "s/[]['\"*?{}]/\\\\\&/g"`
|
|
||||||
+filelist=($(grep -Ev '/usr/doc/|/usr/share/doc/'))
|
|
||||||
+exelist=($(printf "%s\0" "${filelist[@]}" | xargs -0 -r file | \
|
|
||||||
grep -Ev ":.* (commands|script)[, ]" | \
|
|
||||||
- grep ":.*executable" | cut -d: -f1`
|
|
||||||
-scriptlist=`echo $filelist | xargs -r file | \
|
|
||||||
- grep -E ":.* (commands|script)[, ]" | cut -d: -f1`
|
|
||||||
-liblist=`echo $filelist | xargs -r file | \
|
|
||||||
- grep ":.*shared object" | cut -d : -f1`
|
|
||||||
+ grep ":.*executable" | cut -d: -f1))
|
|
||||||
+scriptlist=($(printf "%s\0" "${filelist[@]}" | xargs -0 -r file | \
|
|
||||||
+ grep -E ":.* (commands|script)[, ]" | cut -d: -f1))
|
|
||||||
+liblist=($(printf "%s\0" "${filelist[@]}" | xargs -0 -r file | \
|
|
||||||
+ grep ":.*shared object" | cut -d : -f1))
|
|
||||||
|
|
||||||
-interplist=
|
|
||||||
-perllist=
|
|
||||||
-pythonlist=
|
|
||||||
-tcllist=
|
|
||||||
+interplist=()
|
|
||||||
+perllist=()
|
|
||||||
+pythonlist=()
|
|
||||||
+tcllist=()
|
|
||||||
+monolist=($(printf "%s\n" "${filelist[@]}" | egrep "\\.(exe|dll)(\\.config)?\$"))
|
|
||||||
|
|
||||||
#
|
|
||||||
# --- Alpha does not mark 64bit dependencies
|
|
||||||
@@ -43,12 +44,12 @@ esac
|
|
||||||
if [ "$needed" -eq 0 ]; then
|
|
||||||
#
|
|
||||||
# --- Executable dependency sonames.
|
|
||||||
- for f in $exelist; do
|
|
||||||
- [ -r $f -a -x $f ] || continue
|
|
||||||
- lib64=`if file -L $f 2>/dev/null | \
|
|
||||||
+ for f in "${exelist[@]}"; do
|
|
||||||
+ [ -r "$f" -a -x "$f" ] || continue
|
|
||||||
+ lib64=`if file -L "$f" 2>/dev/null | \
|
|
||||||
grep "ELF 64-bit" >/dev/null; then echo "$mark64"; fi`
|
|
||||||
- ldd $f | awk '/=>/ {
|
|
||||||
- if ($1 !~ /libNoVersion.so/ && $1 !~ /4[um]lib.so/ && $1 !~ /libredhat-kernel.so/) {
|
|
||||||
+ ldd "$f" | awk '/=>/ {
|
|
||||||
+ if ($1 !~ /libNoVersion.so/ && $1 !~ /4[um]lib.so/ && $1 !~ /linux-gate.so/) {
|
|
||||||
gsub(/'\''"/,"\\&",$1);
|
|
||||||
printf "%s'$lib64'\n", $1
|
|
||||||
}
|
|
||||||
@@ -57,12 +58,12 @@ if [ "$needed" -eq 0 ]; then
|
|
||||||
|
|
||||||
#
|
|
||||||
# --- Library dependency sonames.
|
|
||||||
- for f in $liblist; do
|
|
||||||
- [ -r $f ] || continue
|
|
||||||
- lib64=`if file -L $f 2>/dev/null | \
|
|
||||||
+ for f in "${liblist[@]}"; do
|
|
||||||
+ [ -r "$f" ] || continue
|
|
||||||
+ lib64=`if file -L "$f" 2>/dev/null | \
|
|
||||||
grep "ELF 64-bit" >/dev/null; then echo "$mark64"; fi`
|
|
||||||
- ldd $f | awk '/=>/ {
|
|
||||||
- if ($1 !~ /libNoVersion.so/ && $1 !~ /4[um]lib.so/ && $1 !~ /libredhat-kernel.so/) {
|
|
||||||
+ ldd "$f" | awk '/=>/ {
|
|
||||||
+ if ($1 !~ /libNoVersion.so/ && $1 !~ /4[um]lib.so/ && $1 !~ /linux-gate.so/) {
|
|
||||||
gsub(/'\''"/,"\\&",$1);
|
|
||||||
printf "%s'$lib64'\n", $1
|
|
||||||
}
|
|
||||||
@@ -72,30 +73,30 @@ fi
|
|
||||||
|
|
||||||
#
|
|
||||||
# --- Script interpreters.
|
|
||||||
-for f in $scriptlist; do
|
|
||||||
- [ -r $f -a -x $f ] || continue
|
|
||||||
- interp=`head -n 1 $f | sed -e 's/^\#\![ ]*//' | cut -d" " -f1`
|
|
||||||
- interplist="$interplist $interp"
|
|
||||||
+for f in "${scriptlist[@]}"; do
|
|
||||||
+ [ -r "$f" -a -x "$f" ] || continue
|
|
||||||
+ interp=`head -n 1 "$f" | sed -ne 's/^\#\![ ]*//p' | cut -d" " -f1`
|
|
||||||
+ interplist=("${interplist[@]}" "$interp")
|
|
||||||
case $interp in
|
|
||||||
- */perl) perllist="$perllist $f" ;;
|
|
||||||
+ */perl) perllist=("${perllist[@]}" "$f") ;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
-[ -n "$interplist" ] && { echo "$interplist" | tr '[:blank:]' \\n | sort -u ; }
|
|
||||||
+[ -n "$interplist" ] && { printf "%s\n" "${interplist[@]}" | sort -u ; }
|
|
||||||
|
|
||||||
#
|
|
||||||
# --- Add perl module files to perllist.
|
|
||||||
-for f in $filelist; do
|
|
||||||
- [ -r $f -a "${f%.pm}" != "${f}" ] && perllist="$perllist $f"
|
|
||||||
+for f in "${filelist[@]}"; do
|
|
||||||
+ [ -r "$f" -a "${f%.pm}" != "${f}" ] && perllist=("${perllist[@]}" "$f")
|
|
||||||
done
|
|
||||||
|
|
||||||
#
|
|
||||||
# --- Weak symbol versions (from glibc).
|
|
||||||
[ -n "$mark64" ] && mark64="(64bit)"
|
|
||||||
-for f in $liblist $exelist ; do
|
|
||||||
- [ -r $f ] || continue
|
|
||||||
- lib64=`if file -L $f 2>/dev/null | \
|
|
||||||
+for f in "${liblist[@]}" "${exelist[@]}" ; do
|
|
||||||
+ [ -r "$f" ] || continue
|
|
||||||
+ lib64=`if file -L "$f" 2>/dev/null | \
|
|
||||||
grep "ELF 64-bit" >/dev/null; then echo "$mark64"; fi`
|
|
||||||
- objdump -p $f | awk 'BEGIN { START=0; LIBNAME=""; needed='$needed'; }
|
|
||||||
+ objdump -p "$f" | awk 'BEGIN { START=0; LIBNAME=""; needed='$needed'; }
|
|
||||||
/^$/ { START=0; }
|
|
||||||
/^Dynamic Section:$/ { START=1; }
|
|
||||||
(START==1) && /NEEDED/ {
|
|
||||||
@@ -112,7 +113,7 @@ for f in $liblist $exelist ; do
|
|
||||||
sub(/:/, "", $3);
|
|
||||||
LIBNAME=$3;
|
|
||||||
}
|
|
||||||
- (START==2) && (LIBNAME!="") && ($4!="") && (($4~/^GLIBC_*/) || ($4~/^GCC_*/)) {
|
|
||||||
+ (START==2) && (LIBNAME!="") && ($4!="") {
|
|
||||||
print LIBNAME "(" $4 ")'$lib64'";
|
|
||||||
}
|
|
||||||
'
|
|
||||||
@@ -120,17 +121,29 @@ done | sort -u
|
|
||||||
|
|
||||||
#
|
|
||||||
# --- Perl modules.
|
|
||||||
-[ -x /usr/lib/rpm/perl.req -a -n "$perllist" ] && \
|
|
||||||
- echo $perllist | tr '[:blank:]' \\n | /usr/lib/rpm/perl.req | sort -u
|
|
||||||
+#[ -x /usr/lib/rpm/perl.req -a -n "$perllist" ] && \
|
|
||||||
+# printf "%s\n" "${perllist[@]}" | /usr/lib/rpm/perl.req | sort -u
|
|
||||||
|
|
||||||
#
|
|
||||||
# --- Python modules.
|
|
||||||
[ -x /usr/lib/rpm/python.req -a -n "$pythonlist" ] && \
|
|
||||||
- echo $pythonlist | tr '[:blank:]' \\n | /usr/lib/rpm/python.req | sort -u
|
|
||||||
+ printf "%s\n" "${pythonlist[@]}" | /usr/lib/rpm/python.req | sort -u
|
|
||||||
|
|
||||||
#
|
|
||||||
# --- Tcl modules.
|
|
||||||
[ -x /usr/lib/rpm/tcl.req -a -n "$tcllist" ] && \
|
|
||||||
- echo $tcllist | tr '[:blank:]' \\n | /usr/lib/rpm/tcl.req | sort -u
|
|
||||||
+ printf "%s\n" "${tcllist[@]}" | /usr/lib/rpm/tcl.req | sort -u
|
|
||||||
+
|
|
||||||
+#
|
|
||||||
+# --- Mono exes/dlls
|
|
||||||
+: ${MONO_PREFIX=/usr}
|
|
||||||
+if [ -x $MONO_PREFIX/bin/mono -a -n "$monolist" ] ; then
|
|
||||||
+ printf "%s\n" "${monolist[@]}" | MONO_PATH=$MONO_PREFIX/lib${MONO_PATH:+:$MONO_PATH} prefix=$MONO_PREFIX $MONO_PREFIX/bin/mono-find-requires || echo "WARNING: MONO RPM REQUIRES WERE NOT GENERATED FOR THIS BUILD!!" 1>&2
|
|
||||||
+fi
|
|
||||||
+
|
|
||||||
+#
|
|
||||||
+# --- Kernel module imported symbols
|
|
||||||
+[ -x ${0%/*}/find-requires.ksyms ] &&
|
|
||||||
+ printf "%s\n" "${filelist[@]}" | ${0%/*}/find-requires.ksyms "$@"
|
|
||||||
|
|
||||||
exit 0
|
|
18
brp.diff
18
brp.diff
@ -1,6 +1,6 @@
|
|||||||
--- ./scripts/Makefile.am.orig 2014-09-05 11:48:54.000000000 +0000
|
--- ./scripts/Makefile.am.orig 2014-06-26 06:51:55.444816562 +0000
|
||||||
+++ ./scripts/Makefile.am 2014-09-08 16:42:03.387071432 +0000
|
+++ ./scripts/Makefile.am 2014-08-04 12:33:14.213715432 +0000
|
||||||
@@ -26,6 +26,7 @@ rpmconfig_SCRIPTS = \
|
@@ -27,6 +27,7 @@ rpmconfig_SCRIPTS = \
|
||||||
appdata.prov \
|
appdata.prov \
|
||||||
brp-compress brp-python-bytecompile brp-java-gcjcompile \
|
brp-compress brp-python-bytecompile brp-java-gcjcompile \
|
||||||
brp-strip brp-strip-comment-note brp-python-hardlink \
|
brp-strip brp-strip-comment-note brp-python-hardlink \
|
||||||
@ -8,8 +8,8 @@
|
|||||||
brp-strip-shared brp-strip-static-archive \
|
brp-strip-shared brp-strip-static-archive \
|
||||||
check-files check-prereqs \
|
check-files check-prereqs \
|
||||||
check-buildroot check-rpaths check-rpaths-worker \
|
check-buildroot check-rpaths check-rpaths-worker \
|
||||||
--- ./scripts/brp-strip-comment-note.orig 2012-11-07 12:55:24.000000000 +0000
|
--- ./scripts/brp-strip-comment-note.orig 2014-06-26 06:51:55.455816533 +0000
|
||||||
+++ ./scripts/brp-strip-comment-note 2014-09-08 16:42:03.387071432 +0000
|
+++ ./scripts/brp-strip-comment-note 2014-08-04 12:33:14.214715437 +0000
|
||||||
@@ -16,6 +16,8 @@ esac
|
@@ -16,6 +16,8 @@ esac
|
||||||
# for already stripped elf files in the build root
|
# for already stripped elf files in the build root
|
||||||
for f in `find "$RPM_BUILD_ROOT" -type f \( -perm -0100 -or -perm -0010 -or -perm -0001 \) -exec file {} \; | \
|
for f in `find "$RPM_BUILD_ROOT" -type f \( -perm -0100 -or -perm -0010 -or -perm -0001 \) -exec file {} \; | \
|
||||||
@ -19,8 +19,8 @@
|
|||||||
sed -n -e 's/^\(.*\):[ ]*ELF.*, stripped/\1/p'`; do
|
sed -n -e 's/^\(.*\):[ ]*ELF.*, stripped/\1/p'`; do
|
||||||
note="-R .note"
|
note="-R .note"
|
||||||
if $OBJDUMP -h $f | grep '^[ ]*[0-9]*[ ]*.note[ ]' -A 1 | \
|
if $OBJDUMP -h $f | grep '^[ ]*[0-9]*[ ]*.note[ ]' -A 1 | \
|
||||||
--- ./scripts/brp-strip.orig 2012-11-07 12:55:24.000000000 +0000
|
--- ./scripts/brp-strip.orig 2014-06-26 06:51:55.455816533 +0000
|
||||||
+++ ./scripts/brp-strip 2014-09-08 16:42:03.388071423 +0000
|
+++ ./scripts/brp-strip 2014-08-04 12:33:14.214715437 +0000
|
||||||
@@ -15,6 +15,7 @@ esac
|
@@ -15,6 +15,7 @@ esac
|
||||||
for f in `find "$RPM_BUILD_ROOT" -type f \( -perm -0100 -or -perm -0010 -or -perm -0001 \) -exec file {} \; | \
|
for f in `find "$RPM_BUILD_ROOT" -type f \( -perm -0100 -or -perm -0010 -or -perm -0001 \) -exec file {} \; | \
|
||||||
grep -v "^${RPM_BUILD_ROOT}/\?usr/lib/debug" | \
|
grep -v "^${RPM_BUILD_ROOT}/\?usr/lib/debug" | \
|
||||||
@ -29,8 +29,8 @@
|
|||||||
sed -n -e 's/^\(.*\):[ ]*ELF.*, not stripped/\1/p'`; do
|
sed -n -e 's/^\(.*\):[ ]*ELF.*, not stripped/\1/p'`; do
|
||||||
$STRIP -g "$f" || :
|
$STRIP -g "$f" || :
|
||||||
done
|
done
|
||||||
--- ./scripts/brp-suse.orig 2014-09-08 16:42:03.388071423 +0000
|
--- ./scripts/brp-suse.orig 2014-08-04 12:33:14.214715437 +0000
|
||||||
+++ ./scripts/brp-suse 2014-09-08 16:42:03.388071423 +0000
|
+++ ./scripts/brp-suse 2014-08-04 12:33:14.214715437 +0000
|
||||||
@@ -0,0 +1,13 @@
|
@@ -0,0 +1,13 @@
|
||||||
+#! /bin/sh
|
+#! /bin/sh
|
||||||
+
|
+
|
||||||
|
@ -9,30 +9,6 @@ Users can therefore ask zypper to install the correct debuginfo package with:
|
|||||||
|
|
||||||
zypper install -C "debuginfo(build-id) = c63cb23876c5fa85f36beaff58f8557e1bf22517"
|
zypper install -C "debuginfo(build-id) = c63cb23876c5fa85f36beaff58f8557e1bf22517"
|
||||||
|
|
||||||
--- ./autodeps/linux.prov.orig 2011-05-11 15:58:28.000000000 +0000
|
|
||||||
+++ ./autodeps/linux.prov 2011-05-11 15:59:31.000000000 +0000
|
|
||||||
@@ -5,6 +5,9 @@
|
|
||||||
IFS=$'\n'
|
|
||||||
filelist=($(cat))
|
|
||||||
|
|
||||||
+debuginfolist=($(printf "%s\n" "${filelist[@]}" | grep "/usr/lib/debug/"))
|
|
||||||
+filelist=($(printf "%s\n" "${filelist[@]}" | grep -v "/usr/lib/debug/"))
|
|
||||||
+
|
|
||||||
solist=($(printf "%s\n" "${filelist[@]}" | grep "\\.so" | grep -v "^/lib/ld.so" | \
|
|
||||||
tr '\n' '\0' | xargs -0 -r file -L | grep "ELF.*shared object" | \
|
|
||||||
cut -d: -f1))
|
|
||||||
@@ -71,6 +74,11 @@ done | sort -u
|
|
||||||
printf "%s\n" "${firmwarelist[@]}" | /usr/lib/rpm/firmware.prov | sort -u
|
|
||||||
|
|
||||||
#
|
|
||||||
+# --- debuginfo files
|
|
||||||
+[ -x /usr/lib/rpm/debuginfo.prov -a -n "$debuginfolist" ] &&
|
|
||||||
+ printf "%s\n" "${debuginfolist[@]}" | /usr/lib/rpm/debuginfo.prov | sort -u
|
|
||||||
+
|
|
||||||
+#
|
|
||||||
# --- Mono exes/dlls
|
|
||||||
: ${MONO_PREFIX=/usr}
|
|
||||||
if [ -x $MONO_PREFIX/bin/mono -a -n "$monolist" ] ; then
|
|
||||||
--- ./macros.in.orig 2011-05-11 15:59:08.000000000 +0000
|
--- ./macros.in.orig 2011-05-11 15:59:08.000000000 +0000
|
||||||
+++ ./macros.in 2011-05-11 15:59:31.000000000 +0000
|
+++ ./macros.in 2011-05-11 15:59:31.000000000 +0000
|
||||||
@@ -182,7 +182,8 @@
|
@@ -182,7 +182,8 @@
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Create a debuginfo package for each subpackage.
|
Create a debuginfo package for each subpackage.
|
||||||
|
|
||||||
--- ./build/files.c.orig 2014-08-18 12:37:19.151934240 +0000
|
--- ./build/files.c.orig 2014-06-30 08:47:13.928503700 +0000
|
||||||
+++ ./build/files.c 2014-08-18 12:48:48.106395561 +0000
|
+++ ./build/files.c 2014-09-17 11:03:25.001860575 +0000
|
||||||
@@ -21,6 +21,10 @@
|
@@ -21,6 +21,10 @@
|
||||||
#include <rpm/rpmlog.h>
|
#include <rpm/rpmlog.h>
|
||||||
#include <rpm/rpmbase64.h>
|
#include <rpm/rpmbase64.h>
|
||||||
@ -12,8 +12,8 @@ Create a debuginfo package for each subpackage.
|
|||||||
+
|
+
|
||||||
#include "rpmio/rpmio_internal.h" /* XXX rpmioSlurp */
|
#include "rpmio/rpmio_internal.h" /* XXX rpmioSlurp */
|
||||||
#include "misc/fts.h"
|
#include "misc/fts.h"
|
||||||
#include "lib/cpio.h"
|
#include "lib/rpmfi_internal.h" /* XXX fi->apath */
|
||||||
@@ -2084,13 +2088,241 @@ exit:
|
@@ -2031,13 +2035,238 @@ exit:
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -145,10 +145,10 @@ Create a debuginfo package for each subpackage.
|
|||||||
+
|
+
|
||||||
+ elf_version(EV_CURRENT);
|
+ elf_version(EV_CURRENT);
|
||||||
+ a = headerGetString(pkg->header, RPMTAG_ARCH);
|
+ a = headerGetString(pkg->header, RPMTAG_ARCH);
|
||||||
+ if (strcmp(a, "noarch") != 0 && strcmp(a, "src") != 0 && strcmp(a, "nosrc") != 0)
|
+ if (strcmp(a, "noarch") != 0)
|
||||||
+ {
|
+ {
|
||||||
+ Package dbg;
|
+ Package dbg;
|
||||||
+ rpmfi fi = pkg->cpioList;
|
+ rpmfi fi = rpmfilesIter(pkg->cpioList, RPMFI_ITER_FWD);
|
||||||
+ char tmp[1024];
|
+ char tmp[1024];
|
||||||
+ const char *name;
|
+ const char *name;
|
||||||
+ ARGV_t files = NULL;
|
+ ARGV_t files = NULL;
|
||||||
@ -156,23 +156,20 @@ Create a debuginfo package for each subpackage.
|
|||||||
+
|
+
|
||||||
+ /* Check if the current package has files with debug info
|
+ /* Check if the current package has files with debug info
|
||||||
+ and record them. */
|
+ and record them. */
|
||||||
+ fi = rpmfiInit (fi, 0);
|
+ fi = rpmfiInit(fi, 0);
|
||||||
+ while (rpmfiNext (fi) >= 0)
|
+ while (rpmfiNext(fi) >= 0)
|
||||||
+ {
|
+ {
|
||||||
+ const char *base;
|
|
||||||
+ int i;
|
+ int i;
|
||||||
+ unsigned char *build_id;
|
+ unsigned char *build_id = NULL;
|
||||||
+ size_t build_id_size = 0;
|
+ size_t build_id_size = 0;
|
||||||
+ struct stat sbuf;
|
+ struct stat sbuf;
|
||||||
+
|
+
|
||||||
+ name = rpmfiFN (fi);
|
+ name = rpmfiFN(fi);
|
||||||
+ /* Skip leading buildroot. */
|
|
||||||
+ base = name + strlen (buildroot);
|
|
||||||
+ /* Pre-pend %buildroot/usr/lib/debug and append .debug. */
|
+ /* Pre-pend %buildroot/usr/lib/debug and append .debug. */
|
||||||
+ snprintf (tmp, 1024, "%s/usr/lib/debug%s.debug",
|
+ snprintf(tmp, 1024, "%s/usr/lib/debug%s.debug",
|
||||||
+ buildroot, base);
|
+ buildroot, name);
|
||||||
+ /* If that file exists we have debug information for it. */
|
+ /* If that file exists we have debug information for it. */
|
||||||
+ if (access (tmp, F_OK) != 0)
|
+ if (access(tmp, F_OK) != 0)
|
||||||
+ continue;
|
+ continue;
|
||||||
+
|
+
|
||||||
+ /* Append the file list preamble. */
|
+ /* Append the file list preamble. */
|
||||||
@ -182,17 +179,17 @@ Create a debuginfo package for each subpackage.
|
|||||||
+ argvAdd(&files, "%dir /usr/lib/debug");
|
+ argvAdd(&files, "%dir /usr/lib/debug");
|
||||||
+ }
|
+ }
|
||||||
+ /* Add the files main debug-info file. */
|
+ /* Add the files main debug-info file. */
|
||||||
+ snprintf (tmp, 1024, "/usr/lib/debug/%s.debug", base);
|
+ snprintf(tmp, 1024, "/usr/lib/debug/%s.debug", name);
|
||||||
+ argvAdd(&files, tmp);
|
+ argvAdd(&files, tmp);
|
||||||
+
|
+
|
||||||
|
+ snprintf(tmp, 1024, "%s%s", buildroot, name);
|
||||||
+ /* Do not bother to check build-ids for symbolic links.
|
+ /* Do not bother to check build-ids for symbolic links.
|
||||||
+ We'll handle them for the link target. */
|
+ We'll handle them for the link target. */
|
||||||
+ if (lstat (name, &sbuf) == -1
|
+ if (lstat(tmp, &sbuf) == -1 || S_ISLNK(sbuf.st_mode))
|
||||||
+ || S_ISLNK (sbuf.st_mode))
|
|
||||||
+ continue;
|
+ continue;
|
||||||
+
|
+
|
||||||
+ /* Try to gather the build-id from the binary. */
|
+ /* Try to gather the build-id from the binary. */
|
||||||
+ if (getELFBuildId (name, &build_id, &build_id_size) == -1)
|
+ if (getELFBuildId(tmp, &build_id, &build_id_size) == -1)
|
||||||
+ continue;
|
+ continue;
|
||||||
+
|
+
|
||||||
+ /* If we see build-id links for the first time add the
|
+ /* If we see build-id links for the first time add the
|
||||||
@ -202,15 +199,15 @@ Create a debuginfo package for each subpackage.
|
|||||||
+
|
+
|
||||||
+ /* From the build-id construct the two links pointing back
|
+ /* From the build-id construct the two links pointing back
|
||||||
+ to the debug information file and the binary. */
|
+ to the debug information file and the binary. */
|
||||||
+ snprintf (tmp, 1024, "/usr/lib/debug/.build-id/%02x/",
|
+ snprintf(tmp, 1024, "/usr/lib/debug/.build-id/%02x/",
|
||||||
+ build_id[0]);
|
+ build_id[0]);
|
||||||
+ for (i = 1; i < build_id_size; ++i)
|
+ for (i = 1; i < build_id_size; ++i)
|
||||||
+ sprintf (tmp + strlen (tmp), "%02x", build_id[i]);
|
+ sprintf(tmp + strlen(tmp), "%02x", build_id[i]);
|
||||||
+ argvAdd(&files, tmp);
|
+ argvAdd(&files, tmp);
|
||||||
+ sprintf (tmp + strlen (tmp), ".debug");
|
+ sprintf(tmp + strlen(tmp), ".debug");
|
||||||
+ argvAdd(&files, tmp);
|
+ argvAdd(&files, tmp);
|
||||||
+
|
+
|
||||||
+ free (build_id);
|
+ free(build_id);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ /* If there are debuginfo files for this package add a
|
+ /* If there are debuginfo files for this package add a
|
||||||
@ -218,19 +215,19 @@ Create a debuginfo package for each subpackage.
|
|||||||
+ if (files)
|
+ if (files)
|
||||||
+ {
|
+ {
|
||||||
+ dbg = newPackage(NULL, spec->pool, &spec->packages);
|
+ dbg = newPackage(NULL, spec->pool, &spec->packages);
|
||||||
+ headerNVR (pkg->header, &name, NULL, NULL);
|
+ headerNVR(pkg->header, &name, NULL, NULL);
|
||||||
+ /* Set name, summary and group. */
|
+ /* Set name, summary and group. */
|
||||||
+ snprintf (tmp, 1024, "%s-debuginfo", name);
|
+ snprintf(tmp, 1024, "%s-debuginfo", name);
|
||||||
+ headerPutString(dbg->header, RPMTAG_NAME, tmp);
|
+ headerPutString(dbg->header, RPMTAG_NAME, tmp);
|
||||||
+ snprintf (tmp, 1024, "Debug information for package %s", name);
|
+ snprintf(tmp, 1024, "Debug information for package %s", name);
|
||||||
+ headerPutString(dbg->header, RPMTAG_SUMMARY, tmp);
|
+ headerPutString(dbg->header, RPMTAG_SUMMARY, tmp);
|
||||||
+ snprintf (tmp, 1024, "This package provides debug information for package %s.\n"
|
+ snprintf(tmp, 1024, "This package provides debug information for package %s.\n"
|
||||||
+ "Debug information is useful when developing applications that use this\n"
|
+ "Debug information is useful when developing applications that use this\n"
|
||||||
+ "package or when debugging this package.", name);
|
+ "package or when debugging this package.", name);
|
||||||
+ headerPutString(dbg->header, RPMTAG_DESCRIPTION, tmp);
|
+ headerPutString(dbg->header, RPMTAG_DESCRIPTION, tmp);
|
||||||
+ headerPutString(dbg->header, RPMTAG_GROUP, "Development/Debug");
|
+ headerPutString(dbg->header, RPMTAG_GROUP, "Development/Debug");
|
||||||
+ /* Inherit other tags from parent. */
|
+ /* Inherit other tags from parent. */
|
||||||
+ headerCopyTags (pkg->header, dbg->header, copyTagsForDebug);
|
+ headerCopyTags(pkg->header, dbg->header, copyTagsForDebug);
|
||||||
+
|
+
|
||||||
+ /* Add self-provides */
|
+ /* Add self-provides */
|
||||||
+ dbg->ds = rpmdsThis(dbg->header, RPMTAG_REQUIRENAME, RPMSENSE_EQUAL);
|
+ dbg->ds = rpmdsThis(dbg->header, RPMTAG_REQUIRENAME, RPMSENSE_EQUAL);
|
||||||
@ -255,7 +252,7 @@ Create a debuginfo package for each subpackage.
|
|||||||
genSourceRpmName(spec);
|
genSourceRpmName(spec);
|
||||||
|
|
||||||
for (pkg = spec->packages; pkg != NULL; pkg = pkg->next) {
|
for (pkg = spec->packages; pkg != NULL; pkg = pkg->next) {
|
||||||
@@ -2108,8 +2340,12 @@ rpmRC processBinaryFiles(rpmSpec spec, r
|
@@ -2055,8 +2284,12 @@ rpmRC processBinaryFiles(rpmSpec spec, r
|
||||||
rpmlog(RPMLOG_NOTICE, _("Processing files: %s\n"), nvr);
|
rpmlog(RPMLOG_NOTICE, _("Processing files: %s\n"), nvr);
|
||||||
free(nvr);
|
free(nvr);
|
||||||
|
|
||||||
@ -270,9 +267,9 @@ Create a debuginfo package for each subpackage.
|
|||||||
goto exit;
|
goto exit;
|
||||||
|
|
||||||
a = headerGetString(pkg->header, RPMTAG_ARCH);
|
a = headerGetString(pkg->header, RPMTAG_ARCH);
|
||||||
--- ./build/parseSpec.c.orig 2014-08-18 12:44:49.564619395 +0000
|
--- ./build/parseSpec.c.orig 2014-09-17 11:00:45.295614365 +0000
|
||||||
+++ ./build/parseSpec.c 2014-08-18 12:44:59.187569649 +0000
|
+++ ./build/parseSpec.c 2014-09-17 11:01:56.371278963 +0000
|
||||||
@@ -503,7 +503,7 @@ static void initSourceHeader(rpmSpec spe
|
@@ -507,7 +507,7 @@ static void initSourceHeader(rpmSpec spe
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Add extra provides to package. */
|
/* Add extra provides to package. */
|
||||||
@ -281,14 +278,14 @@ Create a debuginfo package for each subpackage.
|
|||||||
{
|
{
|
||||||
const char *arch, *name;
|
const char *arch, *name;
|
||||||
char *evr, *isaprov;
|
char *evr, *isaprov;
|
||||||
--- ./build/rpmbuild_internal.h.orig 2014-08-18 12:43:17.461092324 +0000
|
--- ./build/rpmbuild_internal.h.orig 2014-08-18 06:59:55.487105642 +0000
|
||||||
+++ ./build/rpmbuild_internal.h 2014-08-18 12:44:25.578739914 +0000
|
+++ ./build/rpmbuild_internal.h 2014-09-17 11:01:45.138331580 +0000
|
||||||
@@ -425,6 +425,13 @@ int addReqProv(Package pkg, rpmTagVal ta
|
@@ -433,6 +433,13 @@ int addReqProv(Package pkg, rpmTagVal ta
|
||||||
uint32_t index);
|
|
||||||
|
|
||||||
/** \ingroup rpmbuild
|
/** \ingroup rpmbuild
|
||||||
+ * Add self-provides to package.
|
+ * Add self-provides to package.
|
||||||
+ * @param pkg package
|
+ * @param pkg package
|
||||||
+ */
|
+ */
|
||||||
+RPM_GNUC_INTERNAL
|
+RPM_GNUC_INTERNAL
|
||||||
+void addPackageProvides(Package pkg);
|
+void addPackageProvides(Package pkg);
|
||||||
@ -297,8 +294,8 @@ Create a debuginfo package for each subpackage.
|
|||||||
* Add rpmlib feature dependency.
|
* Add rpmlib feature dependency.
|
||||||
* @param pkg package
|
* @param pkg package
|
||||||
* @param feature rpm feature name (i.e. "rpmlib(Foo)" for feature Foo)
|
* @param feature rpm feature name (i.e. "rpmlib(Foo)" for feature Foo)
|
||||||
--- ./macros.in.orig 2014-08-18 12:37:19.206933957 +0000
|
--- ./macros.in.orig 2014-09-17 11:00:45.299614345 +0000
|
||||||
+++ ./macros.in 2014-08-18 12:37:30.648875217 +0000
|
+++ ./macros.in 2014-09-17 11:00:50.013592123 +0000
|
||||||
@@ -186,24 +186,10 @@
|
@@ -186,24 +186,10 @@
|
||||||
# Template for debug information sub-package.
|
# Template for debug information sub-package.
|
||||||
%debug_package \
|
%debug_package \
|
||||||
@ -324,8 +321,8 @@ Create a debuginfo package for each subpackage.
|
|||||||
%description debugsource\
|
%description debugsource\
|
||||||
This package provides debug sources for package %{name}.\
|
This package provides debug sources for package %{name}.\
|
||||||
Debug sources are useful when developing applications that use this\
|
Debug sources are useful when developing applications that use this\
|
||||||
--- ./scripts/find-debuginfo.sh.orig 2014-08-18 12:37:19.201933983 +0000
|
--- ./scripts/find-debuginfo.sh.orig 2014-09-17 11:00:45.293614374 +0000
|
||||||
+++ ./scripts/find-debuginfo.sh 2014-08-18 12:37:30.648875217 +0000
|
+++ ./scripts/find-debuginfo.sh 2014-09-17 11:00:50.014592113 +0000
|
||||||
@@ -149,6 +149,11 @@ debug_link()
|
@@ -149,6 +149,11 @@ debug_link()
|
||||||
# Provide .2, .3, ... symlinks to all filename instances of this build-id.
|
# Provide .2, .3, ... symlinks to all filename instances of this build-id.
|
||||||
make_id_dup_link()
|
make_id_dup_link()
|
||||||
|
@ -1,25 +0,0 @@
|
|||||||
--- ./lib/rpmtag.h.orig 2014-03-10 13:26:56.411058656 +0000
|
|
||||||
+++ ./lib/rpmtag.h 2014-03-10 13:27:49.545058562 +0000
|
|
||||||
@@ -217,14 +217,14 @@ typedef enum rpmTag_e {
|
|
||||||
RPMTAG_PRETRANSPROG = 1153, /* s[] */
|
|
||||||
RPMTAG_POSTTRANSPROG = 1154, /* s[] */
|
|
||||||
RPMTAG_DISTTAG = 1155, /* s */
|
|
||||||
- RPMTAG_OLDSUGGESTSNAME = 1156, /* s[] (unimplemented) */
|
|
||||||
-#define RPMTAG_OLDSUGGESTS RPMTAG_OLDSUGGESTSNAME /* s[] (unimplemented) */
|
|
||||||
- RPMTAG_OLDSUGGESTSVERSION = 1157, /* s[] (unimplemented) */
|
|
||||||
- RPMTAG_OLDSUGGESTSFLAGS = 1158, /* i[] (unimplemented) */
|
|
||||||
- RPMTAG_OLDENHANCESNAME = 1159, /* s[] (unimplemented) */
|
|
||||||
-#define RPMTAG_OLDENHANCES RPMTAG_OLDENHANCESNAME /* s[] (unimplemented) */
|
|
||||||
- RPMTAG_OLDENHANCESVERSION = 1160, /* s[] (unimplemented) */
|
|
||||||
- RPMTAG_OLDENHANCESFLAGS = 1161, /* i[] (unimplemented) */
|
|
||||||
+ RPMTAG_OLDSUGGESTSNAME = 1156, /* s[] */
|
|
||||||
+#define RPMTAG_OLDSUGGESTS RPMTAG_OLDSUGGESTSNAME /* s[] */
|
|
||||||
+ RPMTAG_OLDSUGGESTSVERSION = 1157, /* s[] */
|
|
||||||
+ RPMTAG_OLDSUGGESTSFLAGS = 1158, /* i[] */
|
|
||||||
+ RPMTAG_OLDENHANCESNAME = 1159, /* s[] */
|
|
||||||
+#define RPMTAG_OLDENHANCES RPMTAG_OLDENHANCESNAME /* s[] */
|
|
||||||
+ RPMTAG_OLDENHANCESVERSION = 1160, /* s[] */
|
|
||||||
+ RPMTAG_OLDENHANCESFLAGS = 1161, /* i[] */
|
|
||||||
RPMTAG_PRIORITY = 1162, /* i[] extension placeholder (unimplemented) */
|
|
||||||
RPMTAG_CVSID = 1163, /* s (unimplemented) */
|
|
||||||
#define RPMTAG_SVNID RPMTAG_CVSID /* s (unimplemented) */
|
|
@ -1,7 +1,25 @@
|
|||||||
SUSE specific kernel provides/requires scripts
|
SUSE specific kernel provides/requires scripts
|
||||||
|
|
||||||
--- scripts/find-provides.ksyms.orig 2013-07-12 14:08:40.000000000 +0000
|
--- ./scripts/Makefile.am.orig 2014-08-04 12:34:11.656463310 +0000
|
||||||
+++ scripts/find-provides.ksyms 2013-07-12 14:08:54.000000000 +0000
|
+++ ./scripts/Makefile.am 2014-08-04 12:34:15.063448350 +0000
|
||||||
|
@@ -16,6 +16,7 @@ EXTRA_DIST = \
|
||||||
|
tcl.req tgpg vpkg-provides.sh \
|
||||||
|
find-requires find-provides \
|
||||||
|
find-requires.php find-provides.php \
|
||||||
|
+ find-requires.ksyms find-provides.ksyms \
|
||||||
|
find-php-provides find-php-requires \
|
||||||
|
mono-find-requires mono-find-provides \
|
||||||
|
ocaml-find-requires.sh ocaml-find-provides.sh \
|
||||||
|
@@ -33,6 +34,7 @@ rpmconfig_SCRIPTS = \
|
||||||
|
check-buildroot check-rpaths check-rpaths-worker \
|
||||||
|
find-lang.sh find-requires find-provides \
|
||||||
|
perl.prov perl.req perldeps.pl pythondeps.sh osgideps.pl \
|
||||||
|
+ find-requires.ksyms find-provides.ksyms \
|
||||||
|
mono-find-requires mono-find-provides \
|
||||||
|
pkgconfigdeps.sh libtooldeps.sh \
|
||||||
|
ocaml-find-requires.sh ocaml-find-provides.sh \
|
||||||
|
--- ./scripts/find-provides.ksyms.orig 2014-08-04 12:34:15.062448349 +0000
|
||||||
|
+++ ./scripts/find-provides.ksyms 2014-08-04 12:34:15.062448349 +0000
|
||||||
@@ -0,0 +1,17 @@
|
@@ -0,0 +1,17 @@
|
||||||
+#! /bin/bash
|
+#! /bin/bash
|
||||||
+
|
+
|
||||||
@ -20,8 +38,8 @@ SUSE specific kernel provides/requires scripts
|
|||||||
+ esac
|
+ esac
|
||||||
+done \
|
+done \
|
||||||
+| sort -u
|
+| sort -u
|
||||||
--- scripts/find-requires.ksyms.orig 2013-07-12 14:08:45.000000000 +0000
|
--- ./scripts/find-requires.ksyms.orig 2014-08-04 12:34:15.062448349 +0000
|
||||||
+++ scripts/find-requires.ksyms 2013-07-12 14:08:33.000000000 +0000
|
+++ ./scripts/find-requires.ksyms 2014-08-04 12:34:15.062448349 +0000
|
||||||
@@ -0,0 +1,15 @@
|
@@ -0,0 +1,15 @@
|
||||||
+#! /bin/bash
|
+#! /bin/bash
|
||||||
+
|
+
|
||||||
@ -38,21 +56,3 @@ SUSE specific kernel provides/requires scripts
|
|||||||
+ esac
|
+ esac
|
||||||
+done \
|
+done \
|
||||||
+| sort -u
|
+| sort -u
|
||||||
--- scripts/Makefile.am
|
|
||||||
+++ scripts/Makefile.am
|
|
||||||
@@ -15,6 +15,7 @@
|
|
||||||
rpmdb_loadcvt rpm.daily rpm.log rpm.supp rpm2cpio.sh \
|
|
||||||
tcl.req tgpg vpkg-provides.sh \
|
|
||||||
find-requires.php find-provides.php \
|
|
||||||
+ find-requires.ksyms find-provides.ksyms \
|
|
||||||
find-php-provides find-php-requires \
|
|
||||||
mono-find-requires mono-find-provides \
|
|
||||||
ocaml-find-requires.sh ocaml-find-provides.sh \
|
|
||||||
@@ -30,6 +31,7 @@
|
|
||||||
check-buildroot check-rpaths check-rpaths-worker \
|
|
||||||
find-lang.sh \
|
|
||||||
perl.prov perl.req perldeps.pl pythondeps.sh osgideps.pl \
|
|
||||||
+ find-requires.ksyms find-provides.ksyms \
|
|
||||||
mono-find-requires mono-find-provides \
|
|
||||||
pkgconfigdeps.sh libtooldeps.sh \
|
|
||||||
ocaml-find-requires.sh ocaml-find-provides.sh \
|
|
||||||
|
@ -1,109 +0,0 @@
|
|||||||
--- ./build/rpmfc.c.orig 2014-02-20 12:56:59.836814478 +0000
|
|
||||||
+++ ./build/rpmfc.c 2014-02-20 12:58:18.886814338 +0000
|
|
||||||
@@ -59,6 +59,7 @@ struct rpmfc_s {
|
|
||||||
rpmstrPool pool; /*!< general purpose string storage */
|
|
||||||
rpmds provides; /*!< (no. provides) package provides */
|
|
||||||
rpmds requires; /*!< (no. requires) package requires */
|
|
||||||
+ rpmds supplements; /*!< (no. supplements) package supplements */
|
|
||||||
};
|
|
||||||
|
|
||||||
struct rpmfcTokens_s {
|
|
||||||
@@ -583,6 +584,22 @@ static int rpmfcHelperRequires(rpmfc fc,
|
|
||||||
RPMSENSE_FIND_REQUIRES, RPMTAG_REQUIRENAME);
|
|
||||||
}
|
|
||||||
|
|
||||||
+/**
|
|
||||||
+ * Run per-interpreter Supplements: dependency helper.
|
|
||||||
+ * @param fc file classifier
|
|
||||||
+ * @param nsdep class name for interpreter (e.g. "perl")
|
|
||||||
+ * @return 0
|
|
||||||
+ */
|
|
||||||
+static int rpmfcHelperSupplements(rpmfc fc, const char * nsdep)
|
|
||||||
+{
|
|
||||||
+ if (fc->skipReq)
|
|
||||||
+ return 0;
|
|
||||||
+
|
|
||||||
+ rpmfcHelper(fc, nsdep, "supplements", &fc->supplements, RPMSENSE_FIND_REQUIRES, RPMTAG_SUPPLEMENTNAME);
|
|
||||||
+
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
/* Only used for elf coloring and controlling RPMTAG_FILECLASS inclusion now */
|
|
||||||
static const struct rpmfcTokens_s rpmfcTokens[] = {
|
|
||||||
{ "directory", RPMFC_INCLUDE },
|
|
||||||
@@ -800,6 +817,8 @@ rpmfc rpmfcFree(rpmfc fc)
|
|
||||||
|
|
||||||
rpmdsFree(fc->provides);
|
|
||||||
rpmdsFree(fc->requires);
|
|
||||||
+ rpmdsFree(fc->supplements);
|
|
||||||
+
|
|
||||||
rpmstrPoolFree(fc->pool);
|
|
||||||
memset(fc, 0, sizeof(*fc)); /* trash and burn */
|
|
||||||
free(fc);
|
|
||||||
@@ -833,6 +852,11 @@ rpmds rpmfcRequires(rpmfc fc)
|
|
||||||
return (fc != NULL ? fc->requires : NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
+rpmds rpmfcSupplements(rpmfc fc)
|
|
||||||
+{
|
|
||||||
+ return (fc != NULL ? fc->supplements : NULL);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
rpmRC rpmfcApply(rpmfc fc)
|
|
||||||
{
|
|
||||||
const char * s;
|
|
||||||
@@ -853,6 +877,7 @@ rpmRC rpmfcApply(rpmfc fc)
|
|
||||||
for (ARGV_t fattr = fc->fattrs[fc->ix]; fattr && *fattr; fattr++) {
|
|
||||||
rpmfcHelperProvides(fc, *fattr);
|
|
||||||
rpmfcHelperRequires(fc, *fattr);
|
|
||||||
+ rpmfcHelperSupplements(fc, *fattr);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/* No more additions after this, freeze pool to minimize memory use */
|
|
||||||
@@ -897,6 +922,11 @@ rpmRC rpmfcApply(rpmfc fc)
|
|
||||||
dix = rpmdsFind(fc->requires, ds);
|
|
||||||
rpmdsFree(ds);
|
|
||||||
break;
|
|
||||||
+ case 'S':
|
|
||||||
+ ds = rpmdsSingle(RPMTAG_SUPPLEMENTNAME, N, EVR, Flags);
|
|
||||||
+ dix = rpmdsFind(fc->supplements, ds);
|
|
||||||
+ ds = rpmdsFree(ds);
|
|
||||||
+ break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (dix < 0)
|
|
||||||
@@ -1380,6 +1410,18 @@ rpmRC rpmfcGenerateDepends(const rpmSpec
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+ /* Add Supplements: */
|
|
||||||
+ if (!fc->skipReq) {
|
|
||||||
+ rpmds pi = rpmdsInit(fc->supplements);
|
|
||||||
+ while (rpmdsNext(pi) >= 0) {
|
|
||||||
+ rpmsenseFlags flags = rpmdsFlags(pi);
|
|
||||||
+
|
|
||||||
+ headerPutString(pkg->header, RPMTAG_SUPPLEMENTNAME, rpmdsN(pi));
|
|
||||||
+ headerPutString(pkg->header, RPMTAG_SUPPLEMENTVERSION, rpmdsEVR(pi));
|
|
||||||
+ headerPutUint32(pkg->header, RPMTAG_SUPPLEMENTFLAGS, &flags, 1);
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
/* Add dependency dictionary(#dependencies) */
|
|
||||||
if (rpmtdFromArgi(&td, RPMTAG_DEPENDSDICT, fc->ddictx)) {
|
|
||||||
headerPut(pkg->header, &td, HEADERPUT_DEFAULT);
|
|
||||||
--- ./build/rpmfc.h.orig 2012-11-07 12:55:24.000000000 +0000
|
|
||||||
+++ ./build/rpmfc.h 2014-02-20 12:57:04.466814469 +0000
|
|
||||||
@@ -106,6 +106,13 @@ rpmds rpmfcProvides(rpmfc fc);
|
|
||||||
*/
|
|
||||||
rpmds rpmfcRequires(rpmfc fc);
|
|
||||||
|
|
||||||
+/** \ingroup rpmfc
|
|
||||||
+ * Retrieve file classification supplements
|
|
||||||
+ * @param fc file classifier
|
|
||||||
+ * @return rpmds dependency set of fc requires
|
|
||||||
+ */
|
|
||||||
+rpmds rpmfcSupplements(rpmfc fc);
|
|
||||||
+
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
@ -1,27 +1,3 @@
|
|||||||
Index: autodeps/linux.prov
|
|
||||||
===================================================================
|
|
||||||
--- autodeps/linux.prov.orig 2011-06-08 13:28:10.000000000 +0200
|
|
||||||
+++ autodeps/linux.prov 2011-06-08 13:28:51.755445342 +0200
|
|
||||||
@@ -11,6 +11,7 @@ solist=($(printf "%s\n" "${filelist[@]}"
|
|
||||||
pythonlist=
|
|
||||||
tcllist=
|
|
||||||
monolist=($(printf "%s\n" "${filelist[@]}" | egrep "\\.(exe|dll)\$"))
|
|
||||||
+firmwarelist=($(printf "%s\n" "${filelist[@]}" | grep "/lib/firmware/"))
|
|
||||||
|
|
||||||
#
|
|
||||||
# --- Alpha does not mark 64bit dependencies
|
|
||||||
@@ -59,6 +60,11 @@ done | sort -u
|
|
||||||
printf "%s\n" "${tcllist[@]}" | /usr/lib/rpm/tcl.prov | sort -u
|
|
||||||
|
|
||||||
#
|
|
||||||
+# --- firmware files
|
|
||||||
+[ -x /usr/lib/rpm/firmware.prov -a -n "$firmwarelist" ] &&
|
|
||||||
+ printf "%s\n" "${firmwarelist[@]}" | /usr/lib/rpm/firmware.prov | sort -u
|
|
||||||
+
|
|
||||||
+#
|
|
||||||
# --- Mono exes/dlls
|
|
||||||
: ${MONO_PREFIX=/usr}
|
|
||||||
if [ -x $MONO_PREFIX/bin/mono -a -n "$monolist" ] ; then
|
|
||||||
Index: scripts/firmware.prov
|
Index: scripts/firmware.prov
|
||||||
===================================================================
|
===================================================================
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
|
@ -1,54 +0,0 @@
|
|||||||
Index: autodeps/linux.prov
|
|
||||||
===================================================================
|
|
||||||
--- autodeps/linux.prov.orig 2011-06-08 13:37:46.951974468 +0200
|
|
||||||
+++ autodeps/linux.prov 2011-06-08 13:37:46.967972960 +0200
|
|
||||||
@@ -15,6 +15,8 @@ pythonlist=($(printf "%s\n" "${filelist[
|
|
||||||
tcllist=
|
|
||||||
monolist=($(printf "%s\n" "${filelist[@]}" | egrep "\\.(exe|dll)\$"))
|
|
||||||
firmwarelist=($(printf "%s\n" "${filelist[@]}" | grep "/lib/firmware/"))
|
|
||||||
+pkgconfiglist=($(printf "%s\n" "${filelist[@]}" | egrep '\.pc$'))
|
|
||||||
+fontlist=($(printf "%s\n" "${filelist[@]}" | egrep -i "/usr/share/fonts/.*\.(ttf|otf|pfa)$"))
|
|
||||||
|
|
||||||
#
|
|
||||||
# --- Alpha does not mark 64bit dependencies
|
|
||||||
@@ -80,6 +82,16 @@ if [ -x $MONO_PREFIX/bin/mono -a -n "$mo
|
|
||||||
fi
|
|
||||||
|
|
||||||
#
|
|
||||||
+# --- pkgconfig provides
|
|
||||||
+[ -x /usr/lib/rpm/pkgconfigdeps.sh -a -n "$pkgconfiglist" ] &&
|
|
||||||
+ printf "%s\n" "${pkgconfiglist[@]}" | /usr/lib/rpm/pkgconfigdeps.sh -P | sort -u
|
|
||||||
+
|
|
||||||
+#
|
|
||||||
+# --- font provides
|
|
||||||
+[ -x /usr/lib/rpm/fontconfig.prov -a -n "$fontlist" ] &&
|
|
||||||
+ printf "%s\n" "${fontlist[@]}" | /usr/lib/rpm/fontconfig.prov | sort -u
|
|
||||||
+
|
|
||||||
+#
|
|
||||||
# --- Kernel module exported symbols
|
|
||||||
[ -x /usr/lib/rpm/find-provides.ksyms ] &&
|
|
||||||
printf "%s\n" "${filelist[@]}" | /usr/lib/rpm/find-provides.ksyms "$@"
|
|
||||||
Index: autodeps/linux.req
|
|
||||||
===================================================================
|
|
||||||
--- autodeps/linux.req.orig 2011-06-08 13:37:46.951974468 +0200
|
|
||||||
+++ autodeps/linux.req 2011-06-08 13:37:46.968972865 +0200
|
|
||||||
@@ -34,6 +34,7 @@ perllist=()
|
|
||||||
pythonlist=($(printf "%s\n" "${filelist[@]}" | egrep '/usr/lib[^/]*/python.\..'))
|
|
||||||
tcllist=()
|
|
||||||
monolist=($(printf "%s\n" "${filelist[@]}" | egrep "\\.(exe|dll)(\\.config)?\$"))
|
|
||||||
+pkgconfiglist=($(printf "%s\n" "${filelist[@]}" | egrep '\.pc$'))
|
|
||||||
|
|
||||||
#
|
|
||||||
# --- Alpha does not mark 64bit dependencies
|
|
||||||
@@ -143,6 +144,11 @@ if [ -x $MONO_PREFIX/bin/mono -a -n "$mo
|
|
||||||
fi
|
|
||||||
|
|
||||||
#
|
|
||||||
+# --- pkgconfig requires
|
|
||||||
+[ -x /usr/lib/rpm/pkgconfigdeps.sh -a -n "$pkgconfiglist" ] &&
|
|
||||||
+ printf "%s\n" "${pkgconfiglist[@]}" | /usr/lib/rpm/pkgconfigdeps.sh -R | sort -u
|
|
||||||
+
|
|
||||||
+#
|
|
||||||
# --- Kernel module imported symbols
|
|
||||||
[ -x ${0%/*}/find-requires.ksyms ] &&
|
|
||||||
printf "%s\n" "${filelist[@]}" | ${0%/*}/find-requires.ksyms "$@"
|
|
@ -1,11 +1,11 @@
|
|||||||
--- macros.in.orig 2012-04-18 13:48:07.000000000 +0000
|
--- ./macros.in.orig 2014-08-04 13:04:51.646383733 +0000
|
||||||
+++ macros.in 2012-04-18 13:47:41.000000000 +0000
|
+++ ./macros.in 2014-08-04 13:04:54.687369977 +0000
|
||||||
@@ -515,7 +515,7 @@ posix.setenv("RPMBUILD_SOURCEDIR",rpm.ex
|
@@ -490,7 +490,7 @@ posix.setenv("RPMBUILD_SOURCEDIR",rpm.ex
|
||||||
# %__myattr_exclude_magic exclude by magic regex
|
# %__myattr_exclude_magic exclude by magic regex
|
||||||
# %__myattr_exclude_path exclude by path regex
|
# %__myattr_exclude_path exclude by path regex
|
||||||
#
|
#
|
||||||
-%_fileattrsdir %{_rpmconfigdir}/fileattrs
|
-%_fileattrsdir %{_rpmconfigdir}/fileattrs
|
||||||
+%_fileattrsdir %{__set_helper_env}%{_rpmconfigdir}/fileattrs
|
+%_fileattrsdir %{__set_helper_env}%{_rpmconfigdir}/fileattrs
|
||||||
|
|
||||||
#==============================================================================
|
# This macro defines how much space (in bytes) in package should be
|
||||||
# ---- Database configuration macros.
|
# reserved for gpg signatures during building of a package. If this space is
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
--- ./lib/rpmrc.c.orig 2014-02-05 13:04:02.000000000 +0000
|
--- ./lib/rpmrc.c.orig 2014-07-03 15:11:48.572096075 +0000
|
||||||
+++ ./lib/rpmrc.c 2014-02-20 12:37:28.209816551 +0000
|
+++ ./lib/rpmrc.c 2014-09-17 12:04:27.330717791 +0000
|
||||||
@@ -83,10 +83,12 @@ struct rpmOption {
|
@@ -79,10 +79,12 @@ struct rpmOption {
|
||||||
int localize;
|
int localize;
|
||||||
};
|
};
|
||||||
|
|
||||||
+#if defined(__linux__) && defined(__powerpc__)
|
+#if defined(__linux__) && (defined(__powerpc__) || defined(__sparc__) || (defined(__arm__) && defined(__ARM_PCS_VFP)))
|
||||||
static struct rpmat_s {
|
static struct rpmat_s {
|
||||||
const char *platform;
|
const char *platform;
|
||||||
uint64_t hwcap;
|
uint64_t hwcap;
|
||||||
@ -13,21 +13,21 @@
|
|||||||
|
|
||||||
typedef struct defaultEntry_s {
|
typedef struct defaultEntry_s {
|
||||||
char * name;
|
char * name;
|
||||||
@@ -914,7 +916,7 @@ static int is_geode(void)
|
@@ -936,7 +938,7 @@ static int is_geode(void)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
-#if defined(__linux__)
|
-#if defined(__linux__)
|
||||||
+#if defined(__linux__) && defined(__powerpc__)
|
+#if defined(__linux__) && (defined(__powerpc__) || defined(__sparc__) || (defined(__arm__) && defined(__ARM_PCS_VFP)))
|
||||||
/**
|
/**
|
||||||
* Populate rpmat structure with auxv values
|
* Populate rpmat structure with auxv values
|
||||||
*/
|
*/
|
||||||
@@ -971,7 +973,7 @@ static void defaultMachine(const char **
|
@@ -993,7 +995,7 @@ static void defaultMachine(rpmrcCtx ctx,
|
||||||
canonEntry canon;
|
canonEntry canon;
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
-#if defined(__linux__)
|
-#if defined(__linux__)
|
||||||
+#if defined(__linux__) && defined(__powerpc__)
|
+#if defined(__linux__) && (defined(__powerpc__) || defined(__sparc__) || (defined(__arm__) && defined(__ARM_PCS_VFP)))
|
||||||
/* Populate rpmat struct with hw info */
|
/* Populate rpmat struct with hw info */
|
||||||
read_auxv();
|
read_auxv();
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,15 +1,3 @@
|
|||||||
--- ./autodeps/linux.prov.orig 2014-02-20 12:52:34.012814948 +0000
|
|
||||||
+++ ./autodeps/linux.prov 2014-02-20 12:52:40.088814937 +0000
|
|
||||||
@@ -101,4 +101,9 @@ fi
|
|
||||||
[ -x /usr/lib/rpm/gstreamer-provides ] &&
|
|
||||||
printf "%s\n" "${filelist[@]}" | /usr/lib/rpm/gstreamer-provides | sort -u
|
|
||||||
|
|
||||||
+#
|
|
||||||
+# --- Provides of sysvinit scripts
|
|
||||||
+[ -x /usr/lib/rpm/sysvinitdeps.sh ] &&
|
|
||||||
+ printf "%s\n" "${filelist[@]}" | /usr/lib/rpm/sysvinitdeps.sh -P | sort -u
|
|
||||||
+
|
|
||||||
exit 0
|
|
||||||
--- ./scripts/Makefile.am.orig 2014-02-20 12:52:33.971814948 +0000
|
--- ./scripts/Makefile.am.orig 2014-02-20 12:52:33.971814948 +0000
|
||||||
+++ ./scripts/Makefile.am 2014-02-20 12:52:40.089814937 +0000
|
+++ ./scripts/Makefile.am 2014-02-20 12:52:40.089814937 +0000
|
||||||
@@ -21,6 +21,7 @@ EXTRA_DIST = \
|
@@ -21,6 +21,7 @@ EXTRA_DIST = \
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
--- ./macros.in.orig 2013-06-10 15:55:10.000000000 +0000
|
--- ./macros.in.orig 2014-06-27 07:25:43.624470700 +0000
|
||||||
+++ ./macros.in 2013-07-12 11:53:07.000000000 +0000
|
+++ ./macros.in 2014-08-04 12:38:02.067474055 +0000
|
||||||
@@ -185,22 +185,22 @@
|
@@ -185,22 +185,22 @@
|
||||||
|
|
||||||
# Template for debug information sub-package.
|
# Template for debug information sub-package.
|
||||||
@ -70,7 +70,7 @@
|
|||||||
|
|
||||||
#
|
#
|
||||||
# Path to file attribute classifications for automatic dependency
|
# Path to file attribute classifications for automatic dependency
|
||||||
@@ -512,10 +519,10 @@ package or when debugging this package.\
|
@@ -519,10 +526,10 @@ package or when debugging this package.\
|
||||||
# Misc BDB tuning options
|
# Misc BDB tuning options
|
||||||
%__dbi_other mp_mmapsize=128Mb mp_size=1Mb
|
%__dbi_other mp_mmapsize=128Mb mp_size=1Mb
|
||||||
|
|
||||||
@ -83,7 +83,7 @@
|
|||||||
|
|
||||||
#==============================================================================
|
#==============================================================================
|
||||||
# ---- GPG/PGP/PGP5 signature macros.
|
# ---- GPG/PGP/PGP5 signature macros.
|
||||||
@@ -816,7 +823,7 @@ package or when debugging this package.\
|
@@ -823,7 +830,7 @@ package or when debugging this package.\
|
||||||
%_build_vendor %{_host_vendor}
|
%_build_vendor %{_host_vendor}
|
||||||
%_build_os %{_host_os}
|
%_build_os %{_host_os}
|
||||||
%_host @host@
|
%_host @host@
|
||||||
@ -92,7 +92,7 @@
|
|||||||
%_host_cpu @host_cpu@
|
%_host_cpu @host_cpu@
|
||||||
%_host_vendor @host_vendor@
|
%_host_vendor @host_vendor@
|
||||||
%_host_os @host_os@
|
%_host_os @host_os@
|
||||||
@@ -980,6 +987,183 @@ done \
|
@@ -991,6 +998,183 @@ done \
|
||||||
%python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; import sys; sys.stdout.write(get_python_lib(1))")
|
%python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; import sys; sys.stdout.write(get_python_lib(1))")
|
||||||
%python_version %(%{__python} -c "import sys; sys.stdout.write(sys.version[:3])")
|
%python_version %(%{__python} -c "import sys; sys.stdout.write(sys.version[:3])")
|
||||||
|
|
||||||
@ -276,18 +276,18 @@
|
|||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# arch macro for all Intel i?86 compatibile processors
|
# arch macro for all Intel i?86 compatibile processors
|
||||||
# (Note: This macro (and it's analogues) will probably be obsoleted when
|
# (Note: This macro (and it's analogues) will probably be obsoleted when
|
||||||
@@ -990,7 +1174,9 @@ done \
|
@@ -1001,7 +1185,9 @@ done \
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# arch macro for all supported ARM processors
|
# arch macro for all supported ARM processors
|
||||||
-%arm armv3l armv4b armv4l armv4tl armv5tel armv5tejl armv6l armv7l
|
-%arm armv3l armv4b armv4l armv4tl armv5tel armv5tejl armv6l armv6hl armv7l armv7hl armv7hnl
|
||||||
+%arm armv3l armv4b armv4l armv4tl armv5b armv5l armv5teb armv5tel armv5tejl armv6l armv6hl armv7l armv7hl
|
+%arm armv3l armv4b armv4l armv4tl armv5b armv5l armv5teb armv5tel armv5tejl armv6l armv6hl armv7l armv7hl armv7hnl
|
||||||
+%arml armv3l armv4l armv5l armv5tel armv6l armv7l armv7hl
|
+%arml armv3l armv4l armv5l armv5tel armv6l armv7l armv7hl armv7hnl
|
||||||
+%armb armv4b armv5b armv5teb
|
+%armb armv4b armv5b armv5teb
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# arch macro for all supported Sparc processors
|
# arch macro for all supported Sparc processors
|
||||||
@@ -1110,3 +1296,26 @@ end}
|
@@ -1127,3 +1313,26 @@ end}
|
||||||
|
|
||||||
# \endverbatim
|
# \endverbatim
|
||||||
#*/
|
#*/
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
Also compare the name and not only the version when checking if
|
Also compare the name/arch and not only the version when checking if
|
||||||
two packages are the same. rh#104066
|
two packages are the same. rh#104066
|
||||||
|
|
||||||
--- ./lib/depends.c.orig 2012-06-01 10:07:12.000000000 +0000
|
--- ./lib/depends.c.orig 2014-06-26 06:51:54.163820067 +0000
|
||||||
+++ ./lib/depends.c 2012-06-01 10:16:13.000000000 +0000
|
+++ ./lib/depends.c 2014-08-04 12:22:24.030575105 +0000
|
||||||
@@ -144,6 +144,24 @@ static int skipColor(rpm_color_t tscolor
|
@@ -158,6 +158,24 @@ static int skipColor(rpm_color_t tscolor
|
||||||
return tscolor && color && ocolor && !(color & ocolor);
|
return tscolor && color && ocolor && !(color & ocolor);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -26,16 +26,14 @@ two packages are the same. rh#104066
|
|||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
/* Add erase elements for older packages of same color (if any). */
|
/* Add erase elements for older packages of same color (if any). */
|
||||||
static int addUpgradeErasures(rpmts ts, rpm_color_t tscolor,
|
static int addSelfErasures(rpmts ts, rpm_color_t tscolor, int op,
|
||||||
rpmte p, rpm_color_t hcolor, Header h)
|
rpmte p, rpm_color_t hcolor, Header h)
|
||||||
@@ -157,8 +175,8 @@ static int addUpgradeErasures(rpmts ts,
|
@@ -172,7 +190,7 @@ static int addSelfErasures(rpmts ts, rpm
|
||||||
if (skipColor(tscolor, hcolor, headerGetNumber(oh, RPMTAG_HEADERCOLOR)))
|
if (skipColor(tscolor, hcolor, headerGetNumber(oh, RPMTAG_HEADERCOLOR)))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
- /* Skip packages that contain identical NEVR. */
|
- cmp = rpmVersionCompare(h, oh);
|
||||||
- if (rpmVersionCompare(h, oh) == 0)
|
+ cmp = rpmNameVersionCompare(h, oh);
|
||||||
+ /* Skip packages that contain identical NEVRA. */
|
|
||||||
+ if (rpmNameVersionCompare(h, oh) == 0)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if (removePackage(ts, oh, p)) {
|
/* On upgrade, skip packages that contain identical NEVR. */
|
||||||
|
if ((op == RPMTE_UPGRADE) && (cmp == 0))
|
||||||
|
462
newweakdeps.diff
462
newweakdeps.diff
@ -1,462 +0,0 @@
|
|||||||
--- ./build/files.c.orig 2014-02-05 13:04:01.000000000 +0000
|
|
||||||
+++ ./build/files.c 2014-02-20 14:47:48.107802710 +0000
|
|
||||||
@@ -1642,6 +1642,7 @@ static rpmRC readFilesManifest(rpmSpec s
|
|
||||||
char *fn, buf[BUFSIZ];
|
|
||||||
FILE *fd = NULL;
|
|
||||||
rpmRC rc = RPMRC_FAIL;
|
|
||||||
+ unsigned int nlines = 0;
|
|
||||||
|
|
||||||
if (*path == '/') {
|
|
||||||
fn = rpmGetPath(path, NULL);
|
|
||||||
@@ -1657,14 +1658,19 @@ static rpmRC readFilesManifest(rpmSpec s
|
|
||||||
}
|
|
||||||
|
|
||||||
while (fgets(buf, sizeof(buf), fd)) {
|
|
||||||
- handleComments(buf);
|
|
||||||
+ if (handleComments(buf))
|
|
||||||
+ continue;
|
|
||||||
if (expandMacros(spec, spec->macros, buf, sizeof(buf))) {
|
|
||||||
rpmlog(RPMLOG_ERR, _("line: %s\n"), buf);
|
|
||||||
goto exit;
|
|
||||||
}
|
|
||||||
argvAdd(&(pkg->fileList), buf);
|
|
||||||
+ nlines++;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ if (nlines == 0)
|
|
||||||
+ rpmlog(RPMLOG_WARNING, _("Empty %%files file %s\n"), fn);
|
|
||||||
+
|
|
||||||
if (ferror(fd))
|
|
||||||
rpmlog(RPMLOG_ERR, _("Error reading %%files file %s: %m\n"), fn);
|
|
||||||
else
|
|
||||||
--- ./build/pack.c.orig 2014-02-05 13:04:01.000000000 +0000
|
|
||||||
+++ ./build/pack.c 2014-02-20 14:47:48.107802710 +0000
|
|
||||||
@@ -228,8 +228,10 @@ static rpmTagVal depevrtags[] = {
|
|
||||||
RPMTAG_CONFLICTVERSION,
|
|
||||||
RPMTAG_ORDERVERSION,
|
|
||||||
RPMTAG_TRIGGERVERSION,
|
|
||||||
- RPMTAG_SUGGESTSVERSION,
|
|
||||||
- RPMTAG_ENHANCESVERSION,
|
|
||||||
+ RPMTAG_SUGGESTVERSION,
|
|
||||||
+ RPMTAG_ENHANCEVERSION,
|
|
||||||
+ RPMTAG_RECOMMENDVERSION,
|
|
||||||
+ RPMTAG_SUPPLEMENTVERSION,
|
|
||||||
0
|
|
||||||
};
|
|
||||||
|
|
||||||
--- ./build/parsePreamble.c.orig 2014-02-05 13:04:01.000000000 +0000
|
|
||||||
+++ ./build/parsePreamble.c 2014-02-20 14:47:48.108802710 +0000
|
|
||||||
@@ -785,6 +785,10 @@ static rpmRC handlePreambleTag(rpmSpec s
|
|
||||||
}
|
|
||||||
/* fallthrough */
|
|
||||||
case RPMTAG_PREREQ:
|
|
||||||
+ case RPMTAG_RECOMMENDFLAGS:
|
|
||||||
+ case RPMTAG_SUGGESTFLAGS:
|
|
||||||
+ case RPMTAG_SUPPLEMENTFLAGS:
|
|
||||||
+ case RPMTAG_ENHANCEFLAGS:
|
|
||||||
case RPMTAG_CONFLICTFLAGS:
|
|
||||||
case RPMTAG_OBSOLETEFLAGS:
|
|
||||||
case RPMTAG_PROVIDEFLAGS:
|
|
||||||
@@ -886,6 +890,10 @@ static struct PreambleRec_s const preamb
|
|
||||||
{RPMTAG_ICON, 0, 0, LEN_AND_STR("icon")},
|
|
||||||
{RPMTAG_PROVIDEFLAGS, 0, 0, LEN_AND_STR("provides")},
|
|
||||||
{RPMTAG_REQUIREFLAGS, 2, 0, LEN_AND_STR("requires")},
|
|
||||||
+ {RPMTAG_RECOMMENDFLAGS, 0, 0, LEN_AND_STR("recommends")},
|
|
||||||
+ {RPMTAG_SUGGESTFLAGS, 0, 0, LEN_AND_STR("suggests")},
|
|
||||||
+ {RPMTAG_SUPPLEMENTFLAGS, 0, 0, LEN_AND_STR("supplements")},
|
|
||||||
+ {RPMTAG_ENHANCEFLAGS, 0, 0, LEN_AND_STR("enhances")},
|
|
||||||
{RPMTAG_PREREQ, 2, 1, LEN_AND_STR("prereq")},
|
|
||||||
{RPMTAG_CONFLICTFLAGS, 0, 0, LEN_AND_STR("conflicts")},
|
|
||||||
{RPMTAG_OBSOLETEFLAGS, 0, 0, LEN_AND_STR("obsoletes")},
|
|
||||||
--- ./build/parseReqs.c.orig 2014-02-05 13:06:21.000000000 +0000
|
|
||||||
+++ ./build/parseReqs.c 2014-02-20 14:47:48.108802710 +0000
|
|
||||||
@@ -61,6 +61,18 @@ rpmRC parseRCPOT(rpmSpec spec, Package p
|
|
||||||
nametag = RPMTAG_REQUIRENAME;
|
|
||||||
tagflags |= RPMSENSE_ANY;
|
|
||||||
break;
|
|
||||||
+ case RPMTAG_RECOMMENDFLAGS:
|
|
||||||
+ nametag = RPMTAG_RECOMMENDNAME;
|
|
||||||
+ break;
|
|
||||||
+ case RPMTAG_SUGGESTFLAGS:
|
|
||||||
+ nametag = RPMTAG_SUGGESTNAME;
|
|
||||||
+ break;
|
|
||||||
+ case RPMTAG_SUPPLEMENTFLAGS:
|
|
||||||
+ nametag = RPMTAG_SUPPLEMENTNAME;
|
|
||||||
+ break;
|
|
||||||
+ case RPMTAG_ENHANCEFLAGS:
|
|
||||||
+ nametag = RPMTAG_ENHANCENAME;
|
|
||||||
+ break;
|
|
||||||
case RPMTAG_PROVIDEFLAGS:
|
|
||||||
nametag = RPMTAG_PROVIDENAME;
|
|
||||||
break;
|
|
||||||
--- ./build/parseSpec.c.orig 2014-02-05 13:04:01.000000000 +0000
|
|
||||||
+++ ./build/parseSpec.c 2014-02-20 14:47:48.108802710 +0000
|
|
||||||
@@ -102,11 +102,14 @@ static int matchTok(const char *token, c
|
|
||||||
return rc;
|
|
||||||
}
|
|
||||||
|
|
||||||
-void handleComments(char *s)
|
|
||||||
+int handleComments(char *s)
|
|
||||||
{
|
|
||||||
SKIPSPACE(s);
|
|
||||||
- if (*s == '#')
|
|
||||||
+ if (*s == '#') {
|
|
||||||
*s = '\0';
|
|
||||||
+ return 1;
|
|
||||||
+ }
|
|
||||||
+ return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Push a file to spec's file stack, return the newly pushed entry */
|
|
||||||
--- ./build/reqprov.c.orig 2014-02-05 13:04:01.000000000 +0000
|
|
||||||
+++ ./build/reqprov.c 2014-02-20 14:47:48.108802710 +0000
|
|
||||||
@@ -81,6 +81,30 @@ int addReqProv(Package pkg, rpmTagVal ta
|
|
||||||
extra = Flags & RPMSENSE_TRIGGER;
|
|
||||||
dsp = &pkg->triggers;
|
|
||||||
break;
|
|
||||||
+ case RPMTAG_RECOMMENDNAME:
|
|
||||||
+ versiontag = RPMTAG_RECOMMENDVERSION;
|
|
||||||
+ flagtag = RPMTAG_RECOMMENDFLAGS;
|
|
||||||
+ extra = Flags & _ALL_REQUIRES_MASK;
|
|
||||||
+ dsp = &pkg->recommends;
|
|
||||||
+ break;
|
|
||||||
+ case RPMTAG_SUGGESTNAME:
|
|
||||||
+ versiontag = RPMTAG_SUGGESTVERSION;
|
|
||||||
+ flagtag = RPMTAG_SUGGESTFLAGS;
|
|
||||||
+ extra = Flags & _ALL_REQUIRES_MASK;
|
|
||||||
+ dsp = &pkg->suggests;
|
|
||||||
+ break;
|
|
||||||
+ case RPMTAG_SUPPLEMENTNAME:
|
|
||||||
+ versiontag = RPMTAG_SUPPLEMENTVERSION;
|
|
||||||
+ flagtag = RPMTAG_SUPPLEMENTFLAGS;
|
|
||||||
+ extra = Flags & _ALL_REQUIRES_MASK;
|
|
||||||
+ dsp = &pkg->supplements;
|
|
||||||
+ break;
|
|
||||||
+ case RPMTAG_ENHANCENAME:
|
|
||||||
+ versiontag = RPMTAG_ENHANCEVERSION;
|
|
||||||
+ flagtag = RPMTAG_ENHANCEFLAGS;
|
|
||||||
+ extra = Flags & _ALL_REQUIRES_MASK;
|
|
||||||
+ dsp = &pkg->enhances;
|
|
||||||
+ break;
|
|
||||||
case RPMTAG_REQUIRENAME:
|
|
||||||
default:
|
|
||||||
tagN = RPMTAG_REQUIRENAME;
|
|
||||||
--- ./build/rpmbuild_internal.h.orig 2014-02-05 13:04:01.000000000 +0000
|
|
||||||
+++ ./build/rpmbuild_internal.h 2014-02-20 14:47:48.109802710 +0000
|
|
||||||
@@ -93,6 +93,10 @@ struct Package_s {
|
|
||||||
rpmds ds; /*!< Requires: N = EVR */
|
|
||||||
rpmds requires;
|
|
||||||
rpmds provides;
|
|
||||||
+ rpmds recommends;
|
|
||||||
+ rpmds suggests;
|
|
||||||
+ rpmds supplements;
|
|
||||||
+ rpmds enhances;
|
|
||||||
rpmds conflicts;
|
|
||||||
rpmds obsoletes;
|
|
||||||
rpmds triggers;
|
|
||||||
--- ./build/rpmbuild_misc.h.orig 2014-02-05 13:04:01.000000000 +0000
|
|
||||||
+++ ./build/rpmbuild_misc.h 2014-02-20 14:47:48.109802710 +0000
|
|
||||||
@@ -12,9 +12,10 @@ extern "C" {
|
|
||||||
/** \ingroup rpmbuild
|
|
||||||
* Truncate comment lines.
|
|
||||||
* @param s skip white space, truncate line at '#'
|
|
||||||
+ * @return 1 on comment lines, 0 otherwise
|
|
||||||
*/
|
|
||||||
RPM_GNUC_INTERNAL
|
|
||||||
-void handleComments(char * s);
|
|
||||||
+int handleComments(char * s);
|
|
||||||
|
|
||||||
/** \ingroup rpmstring
|
|
||||||
*/
|
|
||||||
--- ./build/spec.c.orig 2014-02-05 13:04:01.000000000 +0000
|
|
||||||
+++ ./build/spec.c 2014-02-20 14:47:48.109802710 +0000
|
|
||||||
@@ -137,6 +137,11 @@ static Package freePackage(Package pkg)
|
|
||||||
pkg->ds = rpmdsFree(pkg->ds);
|
|
||||||
pkg->requires = rpmdsFree(pkg->requires);
|
|
||||||
pkg->provides = rpmdsFree(pkg->provides);
|
|
||||||
+ pkg->recommends = rpmdsFree(pkg->recommends);
|
|
||||||
+ pkg->suggests = rpmdsFree(pkg->suggests);
|
|
||||||
+ pkg->supplements = rpmdsFree(pkg->supplements);
|
|
||||||
+ pkg->enhances = rpmdsFree(pkg->enhances);
|
|
||||||
+
|
|
||||||
pkg->conflicts = rpmdsFree(pkg->conflicts);
|
|
||||||
pkg->obsoletes = rpmdsFree(pkg->obsoletes);
|
|
||||||
pkg->triggers = rpmdsFree(pkg->triggers);
|
|
||||||
--- ./lib/rpmds.c.orig 2014-02-05 13:04:02.000000000 +0000
|
|
||||||
+++ ./lib/rpmds.c 2014-02-20 14:47:48.110802710 +0000
|
|
||||||
@@ -54,6 +54,22 @@ static int dsType(rpmTagVal tag,
|
|
||||||
t = "Requires";
|
|
||||||
evr = RPMTAG_REQUIREVERSION;
|
|
||||||
f = RPMTAG_REQUIREFLAGS;
|
|
||||||
+ } else if (tag == RPMTAG_SUPPLEMENTNAME) {
|
|
||||||
+ t = "Supplements";
|
|
||||||
+ evr = RPMTAG_SUPPLEMENTVERSION;
|
|
||||||
+ f = RPMTAG_SUPPLEMENTFLAGS;
|
|
||||||
+ } else if (tag == RPMTAG_ENHANCENAME) {
|
|
||||||
+ t = "Enhances";
|
|
||||||
+ evr = RPMTAG_ENHANCEVERSION;
|
|
||||||
+ f = RPMTAG_ENHANCEFLAGS;
|
|
||||||
+ } else if (tag == RPMTAG_RECOMMENDNAME) {
|
|
||||||
+ t = "Recommends";
|
|
||||||
+ evr = RPMTAG_RECOMMENDVERSION;
|
|
||||||
+ f = RPMTAG_RECOMMENDFLAGS;
|
|
||||||
+ } else if (tag == RPMTAG_SUGGESTNAME) {
|
|
||||||
+ t = "Suggests";
|
|
||||||
+ evr = RPMTAG_SUGGESTVERSION;
|
|
||||||
+ f = RPMTAG_SUGGESTFLAGS;
|
|
||||||
} else if (tag == RPMTAG_CONFLICTNAME) {
|
|
||||||
t = "Conflicts";
|
|
||||||
evr = RPMTAG_CONFLICTVERSION;
|
|
||||||
--- ./lib/rpmtag.h.orig 2014-02-05 13:04:02.000000000 +0000
|
|
||||||
+++ ./lib/rpmtag.h 2014-02-20 14:47:48.110802710 +0000
|
|
||||||
@@ -217,14 +217,14 @@ typedef enum rpmTag_e {
|
|
||||||
RPMTAG_PRETRANSPROG = 1153, /* s[] */
|
|
||||||
RPMTAG_POSTTRANSPROG = 1154, /* s[] */
|
|
||||||
RPMTAG_DISTTAG = 1155, /* s */
|
|
||||||
- RPMTAG_SUGGESTSNAME = 1156, /* s[] extension (unimplemented) */
|
|
||||||
-#define RPMTAG_SUGGESTS RPMTAG_SUGGESTSNAME /* s[] (unimplemented) */
|
|
||||||
- RPMTAG_SUGGESTSVERSION = 1157, /* s[] extension (unimplemented) */
|
|
||||||
- RPMTAG_SUGGESTSFLAGS = 1158, /* i[] extension (unimplemented) */
|
|
||||||
- RPMTAG_ENHANCESNAME = 1159, /* s[] extension placeholder (unimplemented) */
|
|
||||||
-#define RPMTAG_ENHANCES RPMTAG_ENHANCESNAME /* s[] (unimplemented) */
|
|
||||||
- RPMTAG_ENHANCESVERSION = 1160, /* s[] extension placeholder (unimplemented) */
|
|
||||||
- RPMTAG_ENHANCESFLAGS = 1161, /* i[] extension placeholder (unimplemented) */
|
|
||||||
+ RPMTAG_OLDSUGGESTSNAME = 1156, /* s[] (unimplemented) */
|
|
||||||
+#define RPMTAG_OLDSUGGESTS RPMTAG_OLDSUGGESTSNAME /* s[] (unimplemented) */
|
|
||||||
+ RPMTAG_OLDSUGGESTSVERSION = 1157, /* s[] (unimplemented) */
|
|
||||||
+ RPMTAG_OLDSUGGESTSFLAGS = 1158, /* i[] (unimplemented) */
|
|
||||||
+ RPMTAG_OLDENHANCESNAME = 1159, /* s[] (unimplemented) */
|
|
||||||
+#define RPMTAG_OLDENHANCES RPMTAG_OLDENHANCESNAME /* s[] (unimplemented) */
|
|
||||||
+ RPMTAG_OLDENHANCESVERSION = 1160, /* s[] (unimplemented) */
|
|
||||||
+ RPMTAG_OLDENHANCESFLAGS = 1161, /* i[] (unimplemented) */
|
|
||||||
RPMTAG_PRIORITY = 1162, /* i[] extension placeholder (unimplemented) */
|
|
||||||
RPMTAG_CVSID = 1163, /* s (unimplemented) */
|
|
||||||
#define RPMTAG_SVNID RPMTAG_CVSID /* s (unimplemented) */
|
|
||||||
@@ -261,6 +261,7 @@ typedef enum rpmTag_e {
|
|
||||||
RPMTAG_BUILDOBSOLETES = 1194, /* internal (unimplemented) */
|
|
||||||
RPMTAG_DBINSTANCE = 1195, /* i extension */
|
|
||||||
RPMTAG_NVRA = 1196, /* s extension */
|
|
||||||
+
|
|
||||||
/* tags 1997-4999 reserved */
|
|
||||||
RPMTAG_FILENAMES = 5000, /* s[] extension */
|
|
||||||
RPMTAG_FILEPROVIDE = 5001, /* s[] extension */
|
|
||||||
@@ -307,6 +308,26 @@ typedef enum rpmTag_e {
|
|
||||||
RPMTAG_OBSOLETENEVRS = 5043, /* s[] extension */
|
|
||||||
RPMTAG_CONFLICTNEVRS = 5044, /* s[] extension */
|
|
||||||
RPMTAG_FILENLINKS = 5045, /* i[] extension */
|
|
||||||
+ RPMTAG_RECOMMENDNAME = 5046, /* s[] */
|
|
||||||
+#define RPMTAG_RECOMMENDS RPMTAG_RECOMMENDNAME /* s[] */
|
|
||||||
+ RPMTAG_RECOMMENDVERSION = 5047, /* s[] */
|
|
||||||
+ RPMTAG_RECOMMENDFLAGS = 5048, /* i[] */
|
|
||||||
+ RPMTAG_SUGGESTNAME = 5049, /* s[] */
|
|
||||||
+#define RPMTAG_SUGGESTS RPMTAG_SUGGESTNAME /* s[] */
|
|
||||||
+ RPMTAG_SUGGESTVERSION = 5050, /* s[] extension */
|
|
||||||
+ RPMTAG_SUGGESTFLAGS = 5051, /* i[] extension */
|
|
||||||
+ RPMTAG_SUPPLEMENTNAME = 5052, /* s[] */
|
|
||||||
+#define RPMTAG_SUPPLEMENTS RPMTAG_SUPPLEMENTNAME /* s[] */
|
|
||||||
+ RPMTAG_SUPPLEMENTVERSION = 5053, /* s[] */
|
|
||||||
+ RPMTAG_SUPPLEMENTFLAGS = 5054, /* i[] */
|
|
||||||
+ RPMTAG_ENHANCENAME = 5055, /* s[] */
|
|
||||||
+#define RPMTAG_ENHANCES RPMTAG_ENHANCENAME /* s[] */
|
|
||||||
+ RPMTAG_ENHANCEVERSION = 5056, /* s[] */
|
|
||||||
+ RPMTAG_ENHANCEFLAGS = 5057, /* i[] */
|
|
||||||
+ RPMTAG_RECOMMENDNEVRS = 5058, /* s[] extension */
|
|
||||||
+ RPMTAG_SUGGESTNEVRS = 5059, /* s[] extension */
|
|
||||||
+ RPMTAG_SUPPLEMENTNEVRS = 5060, /* s[] extension */
|
|
||||||
+ RPMTAG_ENHANCENEVRS = 5061, /* s[] extension */
|
|
||||||
|
|
||||||
RPMTAG_FIRSTFREE_TAG /*!< internal */
|
|
||||||
} rpmTag;
|
|
||||||
--- ./lib/tagexts.c.orig 2012-11-07 12:55:24.000000000 +0000
|
|
||||||
+++ ./lib/tagexts.c 2014-02-20 14:47:48.110802710 +0000
|
|
||||||
@@ -761,6 +761,26 @@ static int requirenevrsTag(Header h, rpm
|
|
||||||
return depnevrsTag(h, td, hgflags, RPMTAG_REQUIRENAME);
|
|
||||||
}
|
|
||||||
|
|
||||||
+static int recommendnevrsTag(Header h, rpmtd td, headerGetFlags hgflags)
|
|
||||||
+{
|
|
||||||
+ return depnevrsTag(h, td, hgflags, RPMTAG_RECOMMENDNAME);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static int suggestnevrsTag(Header h, rpmtd td, headerGetFlags hgflags)
|
|
||||||
+{
|
|
||||||
+ return depnevrsTag(h, td, hgflags, RPMTAG_SUGGESTNAME);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static int supplementnevrsTag(Header h, rpmtd td, headerGetFlags hgflags)
|
|
||||||
+{
|
|
||||||
+ return depnevrsTag(h, td, hgflags, RPMTAG_SUPPLEMENTNAME);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static int enhancenevrsTag(Header h, rpmtd td, headerGetFlags hgflags)
|
|
||||||
+{
|
|
||||||
+ return depnevrsTag(h, td, hgflags, RPMTAG_ENHANCENAME);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
static int providenevrsTag(Header h, rpmtd td, headerGetFlags hgflags)
|
|
||||||
{
|
|
||||||
return depnevrsTag(h, td, hgflags, RPMTAG_PROVIDENAME);
|
|
||||||
@@ -823,6 +843,10 @@ static const struct headerTagFunc_s rpmH
|
|
||||||
{ RPMTAG_EPOCHNUM, epochnumTag },
|
|
||||||
{ RPMTAG_INSTFILENAMES, instfilenamesTag },
|
|
||||||
{ RPMTAG_REQUIRENEVRS, requirenevrsTag },
|
|
||||||
+ { RPMTAG_RECOMMENDNEVRS, recommendnevrsTag},
|
|
||||||
+ { RPMTAG_SUGGESTNEVRS, suggestnevrsTag},
|
|
||||||
+ { RPMTAG_SUPPLEMENTNEVRS, supplementnevrsTag},
|
|
||||||
+ { RPMTAG_ENHANCENEVRS, enhancenevrsTag},
|
|
||||||
{ RPMTAG_PROVIDENEVRS, providenevrsTag },
|
|
||||||
{ RPMTAG_OBSOLETENEVRS, obsoletenevrsTag },
|
|
||||||
{ RPMTAG_CONFLICTNEVRS, conflictnevrsTag },
|
|
||||||
--- ./rpmpopt.in.orig 2014-02-05 13:04:02.000000000 +0000
|
|
||||||
+++ ./rpmpopt.in 2014-02-20 14:47:48.110802710 +0000
|
|
||||||
@@ -67,6 +67,19 @@ rpm alias --requires --qf \
|
|
||||||
--POPTdesc=$"list capabilities required by package(s)"
|
|
||||||
rpm alias -R --requires
|
|
||||||
|
|
||||||
+rpm alias --recommends --qf \
|
|
||||||
+ "[%|VERBOSE?{%{RECOMMENDFLAGS:deptype}: }:{}|%{RECOMMENDNEVRS}\n]" \
|
|
||||||
+ --POPTdesc=$"list capabilities recommended by package(s)"
|
|
||||||
+rpm alias --suggests --qf \
|
|
||||||
+ "[%|VERBOSE?{%{SUGGESTFLAGS:deptype}: }:{}|%{SUGGESTNEVRS}\n]" \
|
|
||||||
+ --POPTdesc=$"list capabilities suggested by package(s)"
|
|
||||||
+rpm alias --supplements --qf \
|
|
||||||
+ "[%|VERBOSE?{%{SUPPLEMENTFLAGS:deptype}: }:{}|%{SUPPLEMENTNEVRS}\n]" \
|
|
||||||
+ --POPTdesc=$"list capabilities supplemented by package(s)"
|
|
||||||
+rpm alias --enhances --qf \
|
|
||||||
+ "[%|VERBOSE?{%{ENHANCEFLAGS:deptype}: }:{}|%{ENHANCENEVRS}\n]" \
|
|
||||||
+ --POPTdesc=$"list capabilities enhanced by package(s)"
|
|
||||||
+
|
|
||||||
rpm alias --info --qf '\
|
|
||||||
Name : %{NAME}\n\
|
|
||||||
%|EPOCH?{Epoch : %{EPOCH}\n}|\
|
|
||||||
--- ./tests/data/SPECS/deptest.spec.orig 2014-02-05 13:04:02.000000000 +0000
|
|
||||||
+++ ./tests/data/SPECS/deptest.spec 2014-02-20 14:47:48.110802710 +0000
|
|
||||||
@@ -10,6 +10,10 @@ BuildArch: noarch
|
|
||||||
%{?provs:Provides: %{provs}}
|
|
||||||
%{?cfls:Conflicts: %{cfls}}
|
|
||||||
%{?obs:Obsoletes: %{obs}}
|
|
||||||
+%{?recs:Recommends: %{recs}}
|
|
||||||
+%{?sugs:Suggests: %{sugs}}
|
|
||||||
+%{?sups:Supplements: %{sups}}
|
|
||||||
+%{?ens:Enhances: %{ens}}
|
|
||||||
|
|
||||||
%description
|
|
||||||
%{summary}
|
|
||||||
--- ./tests/rpmbuild.at.orig 2014-02-05 13:04:02.000000000 +0000
|
|
||||||
+++ ./tests/rpmbuild.at 2014-02-20 14:47:48.110802710 +0000
|
|
||||||
@@ -185,3 +185,31 @@ lrwxrwxrwx /opt/globtest/linkgood
|
|
||||||
],
|
|
||||||
[])
|
|
||||||
AT_CLEANUP
|
|
||||||
+
|
|
||||||
+# ------------------------------
|
|
||||||
+# Check if weak and reverse requires can be built
|
|
||||||
+AT_SETUP([Weak and reverse requires])
|
|
||||||
+AT_KEYWORDS([build])
|
|
||||||
+AT_CHECK([
|
|
||||||
+
|
|
||||||
+runroot rpmbuild -bb --quiet \
|
|
||||||
+ --define "pkg weakdeps" \
|
|
||||||
+ --define "recs foo > 1.2.3" \
|
|
||||||
+ --define "sugs bar >= 0.1.2" \
|
|
||||||
+ --define "sups baz" \
|
|
||||||
+ --define "ens zap = 3" \
|
|
||||||
+ /data/SPECS/deptest.spec
|
|
||||||
+
|
|
||||||
+runroot rpm -qp --recommends /build/RPMS/noarch/deptest-weakdeps-1.0-1.noarch.rpm
|
|
||||||
+runroot rpm -qp --suggests /build/RPMS/noarch/deptest-weakdeps-1.0-1.noarch.rpm
|
|
||||||
+runroot rpm -qp --supplements /build/RPMS/noarch/deptest-weakdeps-1.0-1.noarch.rpm
|
|
||||||
+runroot rpm -qp --enhances /build/RPMS/noarch/deptest-weakdeps-1.0-1.noarch.rpm
|
|
||||||
+],
|
|
||||||
+[0],
|
|
||||||
+[foo > 1.2.3
|
|
||||||
+bar >= 0.1.2
|
|
||||||
+baz
|
|
||||||
+zap = 3
|
|
||||||
+],
|
|
||||||
+[ignore])
|
|
||||||
+AT_CLEANUP
|
|
||||||
--- ./tests/rpmdb.at.orig 2014-02-05 13:04:02.000000000 +0000
|
|
||||||
+++ ./tests/rpmdb.at 2014-02-20 14:47:48.111802710 +0000
|
|
||||||
@@ -103,7 +103,7 @@ AT_CLEANUP
|
|
||||||
|
|
||||||
# ------------------------------
|
|
||||||
# reinstall a noarch package (with no files)
|
|
||||||
-AT_SETUP([rpm -U --replacepkgs])
|
|
||||||
+AT_SETUP([rpm -U --replacepkgs 1])
|
|
||||||
AT_KEYWORDS([rpmdb install])
|
|
||||||
|
|
||||||
AT_CHECK([
|
|
||||||
@@ -124,6 +124,28 @@ runroot rpm -i "${tpkg}" &&
|
|
||||||
AT_CLEANUP
|
|
||||||
|
|
||||||
# ------------------------------
|
|
||||||
+# reinstall a package with different file policies
|
|
||||||
+AT_SETUP([rpm -U --replacepkgs 2])
|
|
||||||
+AT_KEYWORDS([rpmdb install])
|
|
||||||
+
|
|
||||||
+AT_CHECK([
|
|
||||||
+AT_XFAIL_IF([test $RPM_XFAIL -ne 0])
|
|
||||||
+RPMDB_CLEAR
|
|
||||||
+RPMDB_INIT
|
|
||||||
+
|
|
||||||
+tpkg="/data/RPMS/hello-2.0-1.i686.rpm"
|
|
||||||
+
|
|
||||||
+runroot rpm -U --nodeps --ignorearch "${tpkg}" &&
|
|
||||||
+ runroot rpm -U --nodeps --ignorearch --nodocs --replacepkgs "${tpkg}" &&
|
|
||||||
+ runroot rpm -e hello
|
|
||||||
+test -d "${RPMTEST}"/usr/share/doc/hello-2.0
|
|
||||||
+],
|
|
||||||
+[1],
|
|
||||||
+[],
|
|
||||||
+[])
|
|
||||||
+
|
|
||||||
+AT_CLEANUP
|
|
||||||
+# ------------------------------
|
|
||||||
# install a package into a local rpmdb
|
|
||||||
# * Shall only work with relocation
|
|
||||||
# * Use --ignorearch because we don't know the arch
|
|
||||||
--- ./tests/rpmgeneral.at.orig 2012-11-07 12:55:24.000000000 +0000
|
|
||||||
+++ ./tests/rpmgeneral.at 2014-02-20 14:47:48.111802710 +0000
|
|
||||||
@@ -79,6 +79,11 @@ DISTTAG
|
|
||||||
DISTURL
|
|
||||||
DSAHEADER
|
|
||||||
E
|
|
||||||
+ENHANCEFLAGS
|
|
||||||
+ENHANCENAME
|
|
||||||
+ENHANCENEVRS
|
|
||||||
+ENHANCES
|
|
||||||
+ENHANCEVERSION
|
|
||||||
EPOCH
|
|
||||||
EPOCHNUM
|
|
||||||
EVR
|
|
||||||
@@ -199,6 +204,11 @@ PROVIDES
|
|
||||||
PROVIDEVERSION
|
|
||||||
PUBKEYS
|
|
||||||
R
|
|
||||||
+RECOMMENDFLAGS
|
|
||||||
+RECOMMENDNAME
|
|
||||||
+RECOMMENDNEVRS
|
|
||||||
+RECOMMENDS
|
|
||||||
+RECOMMENDVERSION
|
|
||||||
RECONTEXTS
|
|
||||||
RELEASE
|
|
||||||
REMOVETID
|
|
||||||
@@ -219,7 +229,17 @@ SOURCE
|
|
||||||
SOURCEPACKAGE
|
|
||||||
SOURCEPKGID
|
|
||||||
SOURCERPM
|
|
||||||
+SUGGESTFLAGS
|
|
||||||
+SUGGESTNAME
|
|
||||||
+SUGGESTNEVRS
|
|
||||||
+SUGGESTS
|
|
||||||
+SUGGESTVERSION
|
|
||||||
SUMMARY
|
|
||||||
+SUPPLEMENTFLAGS
|
|
||||||
+SUPPLEMENTNAME
|
|
||||||
+SUPPLEMENTNEVRS
|
|
||||||
+SUPPLEMENTS
|
|
||||||
+SUPPLEMENTVERSION
|
|
||||||
TRIGGERCONDS
|
|
||||||
TRIGGERFLAGS
|
|
||||||
TRIGGERINDEX
|
|
115
noposttrans.diff
115
noposttrans.diff
@ -1,115 +0,0 @@
|
|||||||
Author: Panu Matilainen <pmatilai@redhat.com>
|
|
||||||
Date: Wed Apr 10 11:31:41 2013 +0300
|
|
||||||
|
|
||||||
Add scriptlet-specific disablers for %pretrans and %posttrans
|
|
||||||
|
|
||||||
- Previously %pretrans and %posttrans were tied to --nopre and --nopost
|
|
||||||
disablers (since commit 0b2d7775c5e828652e45829f551352b93890bbc8)
|
|
||||||
because back then, there was no room new disablers in rpmtransFlags
|
|
||||||
bitfield. This is no longer the case as of rpm >= 4.9.x where
|
|
||||||
a bunch of obsolete flags were axed, so we can now add specific
|
|
||||||
--nopretrans and --noposttrans switches + corresponding flags.
|
|
||||||
- This is obviously a behavior change as --nopre and --nopost no
|
|
||||||
longer affect %pretrans and %posttrans, but --noscripts behavior
|
|
||||||
remains the same.
|
|
||||||
|
|
||||||
--- doc/rpm.8
|
|
||||||
+++ doc/rpm.8
|
|
||||||
@@ -278,6 +278,10 @@ packages would normally be reordered to satisfy dependencies.
|
|
||||||
\fB--nopreun\fR
|
|
||||||
.TP
|
|
||||||
\fB--nopostun\fR
|
|
||||||
+.TP
|
|
||||||
+\fB--nopretrans\fR
|
|
||||||
+.TP
|
|
||||||
+\fB--noposttrans\fR
|
|
||||||
Don't execute the scriptlet of the same name.
|
|
||||||
The \fB--noscripts\fR option is equivalent to
|
|
||||||
|
|
||||||
@@ -285,12 +289,16 @@ The \fB--noscripts\fR option is equivalent to
|
|
||||||
\fB--nopost\fR
|
|
||||||
\fB--nopreun\fR
|
|
||||||
\fB--nopostun\fR
|
|
||||||
+\fB--nopretrans\fR
|
|
||||||
+\fB--noposttrans\fR
|
|
||||||
|
|
||||||
and turns off the execution of the corresponding
|
|
||||||
\fB%pre\fR,
|
|
||||||
\fB%post\fR,
|
|
||||||
-\fB%preun\fR, and
|
|
||||||
+\fB%preun\fR,
|
|
||||||
\fB%postun\fR
|
|
||||||
+\fB%pretrans\fR, and
|
|
||||||
+\fB%posttrans\fR
|
|
||||||
scriptlet(s).
|
|
||||||
.TP
|
|
||||||
\fB--notriggers\fR
|
|
||||||
--- lib/poptI.c
|
|
||||||
+++ lib/poptI.c
|
|
||||||
@@ -202,6 +202,12 @@ struct poptOption rpmInstallPoptTable[] = {
|
|
||||||
{ "nopostun", '\0', POPT_BIT_SET|POPT_ARGFLAG_DOC_HIDDEN, &rpmIArgs.transFlags,
|
|
||||||
RPMTRANS_FLAG_NOPOSTUN,
|
|
||||||
N_("do not execute %%postun scriptlet (if any)"), NULL },
|
|
||||||
+ { "nopretrans", '\0', POPT_BIT_SET|POPT_ARGFLAG_DOC_HIDDEN, &rpmIArgs.transFlags,
|
|
||||||
+ RPMTRANS_FLAG_NOPRETRANS,
|
|
||||||
+ N_("do not execute %%pretrans scriptlet (if any)"), NULL },
|
|
||||||
+ { "noposttrans", '\0', POPT_BIT_SET|POPT_ARGFLAG_DOC_HIDDEN, &rpmIArgs.transFlags,
|
|
||||||
+ RPMTRANS_FLAG_NOPOSTTRANS,
|
|
||||||
+ N_("do not execute %%posttrans scriptlet (if any)"), NULL },
|
|
||||||
|
|
||||||
{ "notriggers", '\0', POPT_BIT_SET, &rpmIArgs.transFlags, _noTransTriggers,
|
|
||||||
N_("do not execute any scriptlet(s) triggered by this package"), NULL},
|
|
||||||
--- lib/rpmts.h
|
|
||||||
+++ lib/rpmts.h
|
|
||||||
@@ -45,7 +45,8 @@ enum rpmtransFlags_e {
|
|
||||||
RPMTRANS_FLAG_NOPREUN = (1 << 21), /*!< from --nopreun */
|
|
||||||
RPMTRANS_FLAG_NOPOSTUN = (1 << 22), /*!< from --nopostun */
|
|
||||||
RPMTRANS_FLAG_NOTRIGGERPOSTUN = (1 << 23), /*!< from --notriggerpostun */
|
|
||||||
- /* bits 24-25 unused */
|
|
||||||
+ RPMTRANS_FLAG_NOPRETRANS = (1 << 24), /*!< from --nopretrans */
|
|
||||||
+ RPMTRANS_FLAG_NOPOSTTRANS = (1 << 25), /*!< from --noposttrans */
|
|
||||||
RPMTRANS_FLAG_NOCOLLECTIONS = (1 << 26), /*!< from --nocollections */
|
|
||||||
RPMTRANS_FLAG_NOMD5 = (1 << 27), /*!< from --nomd5 */
|
|
||||||
RPMTRANS_FLAG_NOFILEDIGEST = (1 << 27), /*!< from --nofiledigest (alias to --nomd5) */
|
|
||||||
@@ -60,7 +61,9 @@ typedef rpmFlags rpmtransFlags;
|
|
||||||
( RPMTRANS_FLAG_NOPRE | \
|
|
||||||
RPMTRANS_FLAG_NOPOST | \
|
|
||||||
RPMTRANS_FLAG_NOPREUN | \
|
|
||||||
- RPMTRANS_FLAG_NOPOSTUN \
|
|
||||||
+ RPMTRANS_FLAG_NOPOSTUN | \
|
|
||||||
+ RPMTRANS_FLAG_NOPRETRANS | \
|
|
||||||
+ RPMTRANS_FLAG_NOPOSTTRANS \
|
|
||||||
)
|
|
||||||
|
|
||||||
#define _noTransTriggers \
|
|
||||||
--- lib/transaction.c
|
|
||||||
+++ lib/transaction.c
|
|
||||||
@@ -1496,7 +1496,7 @@ int rpmtsRun(rpmts ts, rpmps okProbs, rpmprobFilterFlags ignoreSet)
|
|
||||||
|
|
||||||
/* Run pre-transaction scripts, but only if there are no known
|
|
||||||
* problems up to this point and not disabled otherwise. */
|
|
||||||
- if (!((rpmtsFlags(ts) & (RPMTRANS_FLAG_BUILD_PROBS|RPMTRANS_FLAG_NOPRE))
|
|
||||||
+ if (!((rpmtsFlags(ts) & (RPMTRANS_FLAG_BUILD_PROBS|RPMTRANS_FLAG_NOPRETRANS))
|
|
||||||
|| (rpmpsNumProblems(tsprobs)))) {
|
|
||||||
rpmlog(RPMLOG_DEBUG, "running pre-transaction scripts\n");
|
|
||||||
runTransScripts(ts, PKG_PRETRANS);
|
|
||||||
@@ -1532,7 +1532,7 @@ int rpmtsRun(rpmts ts, rpmps okProbs, rpmprobFilterFlags ignoreSet)
|
|
||||||
rc = rpmtsProcess(ts) ? -1 : 0;
|
|
||||||
|
|
||||||
/* Run post-transaction scripts unless disabled */
|
|
||||||
- if (!(rpmtsFlags(ts) & (RPMTRANS_FLAG_NOPOST))) {
|
|
||||||
+ if (!(rpmtsFlags(ts) & (RPMTRANS_FLAG_NOPOSTTRANS))) {
|
|
||||||
rpmlog(RPMLOG_DEBUG, "running post-transaction scripts\n");
|
|
||||||
runTransScripts(ts, PKG_POSTTRANS);
|
|
||||||
}
|
|
||||||
--- python/rpmmodule.c
|
|
||||||
+++ python/rpmmodule.c
|
|
||||||
@@ -414,6 +414,8 @@ static int initModule(PyObject *m)
|
|
||||||
REGISTER_ENUM(RPMTRANS_FLAG_NOPREUN);
|
|
||||||
REGISTER_ENUM(RPMTRANS_FLAG_NOPOSTUN);
|
|
||||||
REGISTER_ENUM(RPMTRANS_FLAG_NOTRIGGERPOSTUN);
|
|
||||||
+ REGISTER_ENUM(RPMTRANS_FLAG_NOPRETRANS);
|
|
||||||
+ REGISTER_ENUM(RPMTRANS_FLAG_NOPOSTTRANS);
|
|
||||||
REGISTER_ENUM(RPMTRANS_FLAG_NOMD5);
|
|
||||||
REGISTER_ENUM(RPMTRANS_FLAG_NOFILEDIGEST);
|
|
||||||
REGISTER_ENUM(RPMTRANS_FLAG_NOSUGGEST);
|
|
@ -1,7 +1,5 @@
|
|||||||
SUSE specific platform changes.
|
--- ./platform.in.orig 2014-06-26 06:51:54.822818260 +0000
|
||||||
|
+++ ./platform.in 2014-08-04 12:38:55.389245494 +0000
|
||||||
--- ./platform.in.orig 2014-09-05 11:49:01.000000000 +0000
|
|
||||||
+++ ./platform.in 2014-09-08 16:43:35.250660580 +0000
|
|
||||||
@@ -29,7 +29,7 @@
|
@@ -29,7 +29,7 @@
|
||||||
%_exec_prefix @exec_prefix@
|
%_exec_prefix @exec_prefix@
|
||||||
%_bindir @bindir@
|
%_bindir @bindir@
|
||||||
@ -20,7 +18,7 @@ SUSE specific platform changes.
|
|||||||
# Deprecated misspelling, present for backwards compatibility.
|
# Deprecated misspelling, present for backwards compatibility.
|
||||||
%_initrddir %{_initddir}
|
%_initrddir %{_initddir}
|
||||||
%_rundir @RUNDIR@
|
%_rundir @RUNDIR@
|
||||||
@@ -79,3 +79,21 @@
|
@@ -83,3 +83,21 @@
|
||||||
@apple@#
|
@apple@#
|
||||||
@apple@%_use_internal_dependency_generator 0
|
@apple@%_use_internal_dependency_generator 0
|
||||||
@apple@%__so dylib
|
@apple@%__so dylib
|
||||||
|
@ -1,26 +0,0 @@
|
|||||||
--- lib/psm.c.orig 2013-07-12 12:25:38.000000000 +0000
|
|
||||||
+++ lib/psm.c 2013-07-12 12:27:01.000000000 +0000
|
|
||||||
@@ -807,6 +807,7 @@ static rpmRC rpmpsmStage(rpmpsm psm, pkg
|
|
||||||
case PSM_PROCESS:
|
|
||||||
if (psm->goal == PKG_INSTALL) {
|
|
||||||
int fsmrc = 0;
|
|
||||||
+ int saved_errno = 0;
|
|
||||||
|
|
||||||
rpmpsmNotify(psm, RPMCALLBACK_INST_START, 0);
|
|
||||||
/* make sure first progress call gets made */
|
|
||||||
@@ -826,6 +827,7 @@ static rpmRC rpmpsmStage(rpmpsm psm, pkg
|
|
||||||
|
|
||||||
fsmrc = rpmPackageFilesInstall(psm->ts, psm->te, psm->fi,
|
|
||||||
payload, psm, &psm->failedFile);
|
|
||||||
+ saved_errno = errno;
|
|
||||||
|
|
||||||
rpmswAdd(rpmtsOp(psm->ts, RPMTS_OP_UNCOMPRESS),
|
|
||||||
fdOp(payload, FDSTAT_READ));
|
|
||||||
@@ -843,6 +845,7 @@ static rpmRC rpmpsmStage(rpmpsm psm, pkg
|
|
||||||
rpmpsmNotify(psm, RPMCALLBACK_INST_STOP, psm->total);
|
|
||||||
|
|
||||||
if (fsmrc) {
|
|
||||||
+ errno = saved_errno;
|
|
||||||
rpmlog(RPMLOG_ERR,
|
|
||||||
_("unpacking of archive failed%s%s: %s\n"),
|
|
||||||
(psm->failedFile != NULL ? _(" on file ") : ""),
|
|
@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
|
|
||||||
Name: python3-rpm
|
Name: python3-rpm
|
||||||
Version: 4.11.3
|
Version: 4.12.0.1
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Python Bindings for Manipulating RPM Packages
|
Summary: Python Bindings for Manipulating RPM Packages
|
||||||
License: GPL-2.0+
|
License: GPL-2.0+
|
||||||
|
@ -1,48 +0,0 @@
|
|||||||
Index: autodeps/linux.prov
|
|
||||||
===================================================================
|
|
||||||
--- autodeps/linux.prov.orig 2011-06-08 13:31:39.000000000 +0200
|
|
||||||
+++ autodeps/linux.prov 2011-06-08 13:31:39.191646314 +0200
|
|
||||||
@@ -11,7 +11,7 @@ filelist=($(printf "%s\n" "${filelist[@]
|
|
||||||
solist=($(printf "%s\n" "${filelist[@]}" | grep "\\.so" | grep -v "^/lib/ld.so" | \
|
|
||||||
tr '\n' '\0' | xargs -0 -r file -L | grep "ELF.*shared object" | \
|
|
||||||
cut -d: -f1))
|
|
||||||
-pythonlist=
|
|
||||||
+pythonlist=($(printf "%s\n" "${filelist[@]}" | egrep '/usr/bin/python.\..$'))
|
|
||||||
tcllist=
|
|
||||||
monolist=($(printf "%s\n" "${filelist[@]}" | egrep "\\.(exe|dll)\$"))
|
|
||||||
firmwarelist=($(printf "%s\n" "${filelist[@]}" | grep "/lib/firmware/"))
|
|
||||||
@@ -54,8 +54,8 @@ done | sort -u
|
|
||||||
|
|
||||||
#
|
|
||||||
# --- Python modules.
|
|
||||||
-[ -x /usr/lib/rpm/python.prov -a -n "$pythonlist" ] &&
|
|
||||||
- printf "%s\n" "${pythonlist[@]}" | /usr/lib/rpm/python.prov | sort -u
|
|
||||||
+[ -x /usr/lib/rpm/pythondeps.sh -a -n "$pythonlist" ] &&
|
|
||||||
+ printf "%s\n" "${pythonlist[@]}" | /usr/lib/rpm/pythondeps.sh -P | sort -u
|
|
||||||
|
|
||||||
#
|
|
||||||
# --- Tcl modules.
|
|
||||||
Index: autodeps/linux.req
|
|
||||||
===================================================================
|
|
||||||
--- autodeps/linux.req.orig 2011-06-08 13:31:38.000000000 +0200
|
|
||||||
+++ autodeps/linux.req 2011-06-08 13:31:39.191646314 +0200
|
|
||||||
@@ -31,7 +31,7 @@ liblist=($(printf "%s\0" "${filelist[@]}
|
|
||||||
|
|
||||||
interplist=()
|
|
||||||
perllist=()
|
|
||||||
-pythonlist=()
|
|
||||||
+pythonlist=($(printf "%s\n" "${filelist[@]}" | egrep '/usr/lib[^/]*/python.\..'))
|
|
||||||
tcllist=()
|
|
||||||
monolist=($(printf "%s\n" "${filelist[@]}" | egrep "\\.(exe|dll)(\\.config)?\$"))
|
|
||||||
|
|
||||||
@@ -127,8 +127,8 @@ done | sort -u
|
|
||||||
|
|
||||||
#
|
|
||||||
# --- Python modules.
|
|
||||||
-[ -x /usr/lib/rpm/python.req -a -n "$pythonlist" ] && \
|
|
||||||
- printf "%s\n" "${pythonlist[@]}" | /usr/lib/rpm/python.req | sort -u
|
|
||||||
+[ -x /usr/lib/rpm/pythondeps.sh -a -n "$pythonlist" ] && \
|
|
||||||
+ printf "%s\n" "${pythonlist[@]}" | /usr/lib/rpm/pythondeps.sh -R | sort -u
|
|
||||||
|
|
||||||
#
|
|
||||||
# --- Tcl modules.
|
|
@ -1,32 +1,18 @@
|
|||||||
Don't complain about a bad md5 sum for repackaged rpms.
|
--- ./lib/psm.c.orig 2014-08-04 12:51:13.219051031 +0000
|
||||||
|
+++ ./lib/psm.c 2014-08-04 12:57:38.294335406 +0000
|
||||||
--- ./lib/psm.c.orig 2013-07-12 12:05:15.000000000 +0000
|
@@ -673,8 +673,15 @@ static rpmRC rpmpsmUnpack(rpmpsm psm)
|
||||||
+++ ./lib/psm.c 2013-07-12 12:07:59.000000000 +0000
|
|
||||||
@@ -813,12 +813,17 @@ static rpmRC rpmpsmStage(rpmpsm psm, pkg
|
|
||||||
rpmpsmNotify(psm, RPMCALLBACK_INST_PROGRESS, 0);
|
|
||||||
|
|
||||||
if (rpmfiFC(fi) > 0 && !(rpmtsFlags(ts) & RPMTRANS_FLAG_JUSTDB)) {
|
|
||||||
+ rpmtransFlags oldtsflags;
|
|
||||||
FD_t payload = rpmtePayload(psm->te);
|
|
||||||
if (payload == NULL) {
|
|
||||||
rc = RPMRC_FAIL;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ oldtsflags = rpmtsFlags(ts);
|
|
||||||
+ if (headerIsEntry(fi->h, RPMTAG_REMOVETID))
|
|
||||||
+ (void) rpmtsSetFlags(ts, oldtsflags | RPMTRANS_FLAG_NOMD5);
|
|
||||||
+
|
|
||||||
fsmrc = rpmPackageFilesInstall(psm->ts, psm->te, psm->fi,
|
|
||||||
payload, psm, &psm->failedFile);
|
|
||||||
|
|
||||||
@@ -827,6 +832,9 @@ static rpmRC rpmpsmStage(rpmpsm psm, pkg
|
|
||||||
rpmswAdd(rpmtsOp(psm->ts, RPMTS_OP_DIGEST),
|
|
||||||
fdOp(payload, FDSTAT_DIGEST));
|
|
||||||
|
|
||||||
+ if (headerIsEntry(fi->h, RPMTAG_REMOVETID))
|
|
||||||
+ (void) rpmtsSetFlags(ts, oldtsflags);
|
|
||||||
+
|
|
||||||
Fclose(payload);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
if (!(rpmtsFlags(psm->ts) & RPMTRANS_FLAG_JUSTDB)) {
|
||||||
|
if (rpmfilesFC(psm->files) > 0) {
|
||||||
|
+ rpmtransFlags oldtsflags = rpmtsFlags(psm->ts);
|
||||||
|
+ Header h = rpmteHeader(psm->te);
|
||||||
|
+ if (h && headerIsEntry(h, RPMTAG_REMOVETID))
|
||||||
|
+ (void) rpmtsSetFlags(psm->ts, oldtsflags | RPMTRANS_FLAG_NOMD5);
|
||||||
|
fsmrc = rpmPackageFilesInstall(psm->ts, psm->te, psm->files,
|
||||||
|
psm, &failedFile);
|
||||||
|
+ if (h && headerIsEntry(h, RPMTAG_REMOVETID))
|
||||||
|
+ (void) rpmtsSetFlags(psm->ts, oldtsflags);
|
||||||
|
+ headerFree(h);
|
||||||
|
saved_errno = errno;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:7da2771a7312f149d326badce97d61ff7ecb0940692acbac29675357ae0e0b03
|
|
||||||
size 3907544
|
|
3
rpm-4.12.0.1.tar.bz2
Normal file
3
rpm-4.12.0.1.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:77ddd228fc332193c874aa0b424f41db1ff8b7edbb6a338703ef747851f50229
|
||||||
|
size 4129093
|
@ -1,8 +1,6 @@
|
|||||||
Index: macros.in
|
--- ./macros.in.orig 2014-08-04 13:03:05.948860909 +0000
|
||||||
===================================================================
|
+++ ./macros.in 2014-08-04 13:03:24.830775270 +0000
|
||||||
--- macros.in.orig 2011-12-09 13:21:58.078688958 +0100
|
@@ -885,7 +885,8 @@ posix.setenv("RPMBUILD_SOURCEDIR",rpm.ex
|
||||||
+++ macros.in 2011-12-09 13:21:58.502668839 +0100
|
|
||||||
@@ -920,7 +920,8 @@ posix.setenv("RPMBUILD_SOURCEDIR",rpm.ex
|
|
||||||
--localstatedir=%{_localstatedir} \\\
|
--localstatedir=%{_localstatedir} \\\
|
||||||
--sharedstatedir=%{_sharedstatedir} \\\
|
--sharedstatedir=%{_sharedstatedir} \\\
|
||||||
--mandir=%{_mandir} \\\
|
--mandir=%{_mandir} \\\
|
||||||
@ -11,4 +9,4 @@ Index: macros.in
|
|||||||
+ --disable-dependency-tracking
|
+ --disable-dependency-tracking
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# The make install analogue of %configure for modern autotools:
|
# The "make" analogue, hiding the _smp_mflags magic from specs
|
||||||
|
@ -1,14 +0,0 @@
|
|||||||
Index: ./autodeps/linux.prov
|
|
||||||
===================================================================
|
|
||||||
--- ./autodeps/linux.prov
|
|
||||||
+++ ./autodeps/linux.prov
|
|
||||||
@@ -102,4 +102,9 @@ fi
|
|
||||||
[ -x /usr/lib/rpm/find-provides.ksyms ] &&
|
|
||||||
printf "%s\n" "${filelist[@]}" | /usr/lib/rpm/find-provides.ksyms "$@"
|
|
||||||
|
|
||||||
+#
|
|
||||||
+# --- GStreamer provides, codecs
|
|
||||||
+[ -x /usr/lib/rpm/gstreamer-provides ] &&
|
|
||||||
+ printf "%s\n" "${filelist[@]}" | /usr/lib/rpm/gstreamer-provides | sort -u
|
|
||||||
+
|
|
||||||
exit 0
|
|
@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
|
|
||||||
Name: rpm-python
|
Name: rpm-python
|
||||||
Version: 4.11.3
|
Version: 4.12.0.1
|
||||||
Release: 0
|
Release: 0
|
||||||
#!BuildIgnore: rpmlint-Factory
|
#!BuildIgnore: rpmlint-Factory
|
||||||
Summary: Python Bindings for Manipulating RPM Packages
|
Summary: Python Bindings for Manipulating RPM Packages
|
||||||
|
18
rpm.changes
18
rpm.changes
@ -1,3 +1,21 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Sep 18 13:40:43 CEST 2014 - mls@suse.de
|
||||||
|
|
||||||
|
- update to rpm-4.12.0.1
|
||||||
|
* fixes archivesize being off a couple of bytes
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Sep 16 13:55:09 CEST 2014 - mls@suse.de
|
||||||
|
|
||||||
|
- update to rpm-4.12.0
|
||||||
|
* weakdeps support is now upstream
|
||||||
|
* new optional payload format to support files > 4GB
|
||||||
|
* lots of cleanups all over the codebase
|
||||||
|
- dropped patches:
|
||||||
|
autodeps.diff, psm-errno.diff, exportoldtags.diff, pythondeps.diff,
|
||||||
|
newweakdeps.diff, findsupplements.diff, rpm-gst-provides.patch,
|
||||||
|
noposttrans.diff, fontprovides.diff
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Sep 8 18:51:28 CEST 2014 - mls@suse.de
|
Mon Sep 8 18:51:28 CEST 2014 - mls@suse.de
|
||||||
|
|
||||||
|
26
rpm.spec
26
rpm.spec
@ -47,9 +47,9 @@ PreReq: %fillup_prereq
|
|||||||
Summary: The RPM Package Manager
|
Summary: The RPM Package Manager
|
||||||
License: GPL-2.0+
|
License: GPL-2.0+
|
||||||
Group: System/Packages
|
Group: System/Packages
|
||||||
Version: 4.11.3
|
Version: 4.12.0.1
|
||||||
Release: 0
|
Release: 0
|
||||||
Source: http://rpm.org/releases/rpm-4.11.x/rpm-%{version}.tar.bz2
|
Source: http://rpm.org/releases/rpm-4.12.x/rpm-%{version}.tar.bz2
|
||||||
Source1: RPM-HOWTO.tar.bz2
|
Source1: RPM-HOWTO.tar.bz2
|
||||||
Source4: rpm-suse_macros
|
Source4: rpm-suse_macros
|
||||||
Source5: rpmsort
|
Source5: rpmsort
|
||||||
@ -62,7 +62,6 @@ Source12: baselibs.conf
|
|||||||
Patch1: beecrypt-4.1.2.diff
|
Patch1: beecrypt-4.1.2.diff
|
||||||
Patch2: db.diff
|
Patch2: db.diff
|
||||||
# quilt patches start here
|
# quilt patches start here
|
||||||
Patch10: newweakdeps.diff
|
|
||||||
Patch11: debugedit.diff
|
Patch11: debugedit.diff
|
||||||
Patch13: ignore-auxv.diff
|
Patch13: ignore-auxv.diff
|
||||||
Patch12: localetag.diff
|
Patch12: localetag.diff
|
||||||
@ -74,7 +73,6 @@ Patch18: refreshtestarch.diff
|
|||||||
Patch19: rpmrctests.diff
|
Patch19: rpmrctests.diff
|
||||||
Patch20: waitlock.diff
|
Patch20: waitlock.diff
|
||||||
Patch21: suspendlock.diff
|
Patch21: suspendlock.diff
|
||||||
Patch23: autodeps.diff
|
|
||||||
Patch24: brp.diff
|
Patch24: brp.diff
|
||||||
Patch25: brpcompress.diff
|
Patch25: brpcompress.diff
|
||||||
Patch26: checkfilesnoinfodir.diff
|
Patch26: checkfilesnoinfodir.diff
|
||||||
@ -112,9 +110,6 @@ Patch58: lazystatfs.diff
|
|||||||
Patch59: repackage-nomd5.diff
|
Patch59: repackage-nomd5.diff
|
||||||
Patch60: safeugid.diff
|
Patch60: safeugid.diff
|
||||||
Patch61: noprereqdeprec.diff
|
Patch61: noprereqdeprec.diff
|
||||||
Patch62: pythondeps.diff
|
|
||||||
Patch63: fontprovides.diff
|
|
||||||
Patch64: rpm-gst-provides.patch
|
|
||||||
Patch65: initscriptsprov.diff
|
Patch65: initscriptsprov.diff
|
||||||
Patch66: remove-translations.diff
|
Patch66: remove-translations.diff
|
||||||
Patch67: headeradddb.diff
|
Patch67: headeradddb.diff
|
||||||
@ -122,7 +117,6 @@ Patch68: dbprivate.diff
|
|||||||
Patch69: nobuildcolor.diff
|
Patch69: nobuildcolor.diff
|
||||||
Patch70: fileattrs.diff
|
Patch70: fileattrs.diff
|
||||||
Patch71: nomagiccheck.diff
|
Patch71: nomagiccheck.diff
|
||||||
Patch72: findsupplements.diff
|
|
||||||
Patch73: assumeexec.diff
|
Patch73: assumeexec.diff
|
||||||
Patch74: mono-find-requires.diff
|
Patch74: mono-find-requires.diff
|
||||||
Patch75: rpm-deptracking.patch
|
Patch75: rpm-deptracking.patch
|
||||||
@ -130,13 +124,10 @@ Patch76: python3-abi-kind.diff
|
|||||||
Patch77: langnoc.diff
|
Patch77: langnoc.diff
|
||||||
Patch78: headerchk2.diff
|
Patch78: headerchk2.diff
|
||||||
Patch79: helperenv.diff
|
Patch79: helperenv.diff
|
||||||
Patch80: psm-errno.diff
|
|
||||||
Patch82: noposttrans.diff
|
|
||||||
Patch85: brp-compress-no-img.patch
|
Patch85: brp-compress-no-img.patch
|
||||||
Patch92: find-lang-python.patch
|
Patch92: find-lang-python.patch
|
||||||
Patch93: weakdepscompat.diff
|
Patch93: weakdepscompat.diff
|
||||||
Patch94: checksepwarn.diff
|
Patch94: checksepwarn.diff
|
||||||
Patch95: exportoldtags.diff
|
|
||||||
Patch6464: auto-config-update-aarch64-ppc64le.diff
|
Patch6464: auto-config-update-aarch64-ppc64le.diff
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
#
|
#
|
||||||
@ -216,15 +207,15 @@ ln -s beecrypt-4.1.2 beecrypt
|
|||||||
chmod -R u+w db/*
|
chmod -R u+w db/*
|
||||||
rm -f rpmdb/db.h
|
rm -f rpmdb/db.h
|
||||||
%patch -P 1 -P 2
|
%patch -P 1 -P 2
|
||||||
%patch -P 10 -P 11 -P 12 -P 13 -P 14 -P 15 -P 16 -P 17 -P 18 -P 19
|
%patch -P 11 -P 12 -P 13 -P 14 -P 15 -P 16 -P 17 -P 18 -P 19
|
||||||
%patch -P 20 -P 21 -P 23 -P 24 -P 25 -P 26 -P 27 -P 28 -P 29
|
%patch -P 20 -P 21 -P 24 -P 25 -P 26 -P 27 -P 28 -P 29
|
||||||
%patch -P 30 -P 31 -P 32 -P 33 -P 34 -P 35 -P 36 -P 37 -P 38 -P 39
|
%patch -P 30 -P 31 -P 32 -P 33 -P 34 -P 35 -P 36 -P 37 -P 38 -P 39
|
||||||
%patch -P 41 -P 42 -P 43 -P 44 -P 45 -P 46 -P 47 -P 48 -P 49
|
%patch -P 41 -P 42 -P 43 -P 44 -P 45 -P 46 -P 47 -P 48 -P 49
|
||||||
%patch -P 50 -P 51 -P 52 -P 53 -P 54 -P 55 -P 56 -P 57 -P 58 -P 59
|
%patch -P 50 -P 51 -P 52 -P 53 -P 54 -P 55 -P 56 -P 57 -P 58 -P 59
|
||||||
%patch -P 60 -P 61 -P 62 -P 63 -P 64 -P 65 -P 66 -P 67 -P 68 -P 69
|
%patch -P 60 -P 61 -P 65 -P 66 -P 67 -P 68 -P 69
|
||||||
%patch -P 70 -P 71 -P 72 -P 73 -P 74 -P 75 -P 76 -P 77 -P 78 -P 79
|
%patch -P 70 -P 71 -P 73 -P 74 -P 75 -P 76 -P 77 -P 78 -P 79
|
||||||
%patch -P 80 -P 82 -P 85
|
%patch -P 85
|
||||||
%patch -P 92 -P 93 -P 94 -P 95
|
%patch -P 92 -P 93 -P 94
|
||||||
|
|
||||||
%ifarch aarch64 ppc64le
|
%ifarch aarch64 ppc64le
|
||||||
%patch6464
|
%patch6464
|
||||||
@ -271,6 +262,7 @@ sed -i -e 's,{PYTHON_VERSION}mu,{PYTHON_VERSION}mu python${PYTHON_VERSION}m,' co
|
|||||||
--libdir=%{_libdir} --sysconfdir=/etc --localstatedir=/var --with-lua \
|
--libdir=%{_libdir} --sysconfdir=/etc --localstatedir=/var --with-lua \
|
||||||
--with-vendor=suse \
|
--with-vendor=suse \
|
||||||
--with-rundir=/run \
|
--with-rundir=/run \
|
||||||
|
--without-archive \
|
||||||
--with-selinux --with-internal-beecrypt \
|
--with-selinux --with-internal-beecrypt \
|
||||||
--with-acl --with-cap --enable-shared %{?with_python: --enable-python} $BUILDTARGET
|
--with-acl --with-cap --enable-shared %{?with_python: --enable-python} $BUILDTARGET
|
||||||
|
|
||||||
|
63
rpmrc.diff
63
rpmrc.diff
@ -1,5 +1,5 @@
|
|||||||
--- ./rpmrc.in.orig 2014-09-05 11:47:15.000000000 +0000
|
--- ./rpmrc.in.orig 2014-06-27 07:25:43.624470700 +0000
|
||||||
+++ ./rpmrc.in 2014-09-08 16:44:47.547337670 +0000
|
+++ ./rpmrc.in 2014-08-04 12:44:21.192842515 +0000
|
||||||
@@ -12,16 +12,16 @@
|
@@ -12,16 +12,16 @@
|
||||||
# "fat" binary with both archs, for Darwin
|
# "fat" binary with both archs, for Darwin
|
||||||
optflags: fat -O2 -g -arch i386 -arch ppc
|
optflags: fat -O2 -g -arch i386 -arch ppc
|
||||||
@ -30,15 +30,15 @@
|
|||||||
|
|
||||||
optflags: m68k -O2 -g -fomit-frame-pointer
|
optflags: m68k -O2 -g -fomit-frame-pointer
|
||||||
|
|
||||||
-optflags: ppc -O2 -g -fsigned-char
|
-optflags: ppc -O2 -g
|
||||||
-optflags: ppc8260 -O2 -g -fsigned-char
|
-optflags: ppc8260 -O2 -g
|
||||||
-optflags: ppc8560 -O2 -g -fsigned-char
|
-optflags: ppc8560 -O2 -g
|
||||||
-optflags: ppc32dy4 -O2 -g -fsigned-char
|
-optflags: ppc32dy4 -O2 -g
|
||||||
-optflags: ppciseries -O2 -g -fsigned-char
|
-optflags: ppciseries -O2 -g
|
||||||
-optflags: ppcpseries -O2 -g -fsigned-char
|
-optflags: ppcpseries -O2 -g
|
||||||
-optflags: ppc64 -O2 -g -fsigned-char
|
-optflags: ppc64 -O2 -g
|
||||||
-optflags: ppc64le -O2 -g -fsigned-char
|
-optflags: ppc64le -O2 -g
|
||||||
-optflags: ppc64p7 -O3 -mtune=power7 -mcpu=power7 -g -fsigned-char
|
-optflags: ppc64p7 -O3 -mtune=power7 -mcpu=power7 -g
|
||||||
+optflags: ppc -O2 -g -m32 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables
|
+optflags: ppc -O2 -g -m32 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables
|
||||||
+optflags: ppc8260 -O2 -g -m32
|
+optflags: ppc8260 -O2 -g -m32
|
||||||
+optflags: ppc8560 -O2 -g -m32
|
+optflags: ppc8560 -O2 -g -m32
|
||||||
@ -54,17 +54,20 @@
|
|||||||
optflags: hppa1.0 -O2 -g -mpa-risc-1-0
|
optflags: hppa1.0 -O2 -g -mpa-risc-1-0
|
||||||
optflags: hppa1.1 -O2 -g -mpa-risc-1-0
|
optflags: hppa1.1 -O2 -g -mpa-risc-1-0
|
||||||
optflags: hppa1.2 -O2 -g -mpa-risc-1-0
|
optflags: hppa1.2 -O2 -g -mpa-risc-1-0
|
||||||
@@ -67,7 +68,9 @@ optflags: armv4tl -O2 -g -march=armv4t
|
@@ -67,10 +68,10 @@ optflags: armv4tl -O2 -g -march=armv4t
|
||||||
optflags: armv5tel -O2 -g -march=armv5te
|
optflags: armv5tel -O2 -g -march=armv5te
|
||||||
optflags: armv5tejl -O2 -g -march=armv5te
|
optflags: armv5tejl -O2 -g -march=armv5te
|
||||||
optflags: armv6l -O2 -g -march=armv6
|
optflags: armv6l -O2 -g -march=armv6
|
||||||
|
-optflags: armv6hl -O2 -g -march=armv6 -mfloat-abi=hard -mfpu=vfp
|
||||||
+optflags: armv6hl -O2 -g -march=armv6 -mfloat-abi=hard -mabi=aapcs-linux
|
+optflags: armv6hl -O2 -g -march=armv6 -mfloat-abi=hard -mabi=aapcs-linux
|
||||||
|
|
||||||
optflags: armv7l -O2 -g -march=armv7
|
optflags: armv7l -O2 -g -march=armv7
|
||||||
|
-optflags: armv7hl -O2 -g -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16
|
||||||
+optflags: armv7hl -O2 -g -march=armv7-a -mfloat-abi=hard -mthumb -mabi=aapcs-linux
|
+optflags: armv7hl -O2 -g -march=armv7-a -mfloat-abi=hard -mthumb -mabi=aapcs-linux
|
||||||
|
optflags: armv7hnl -O2 -g -march=armv7-a -mfloat-abi=hard -mfpu=neon
|
||||||
|
|
||||||
optflags: m68k -O2 -g -fomit-frame-pointer
|
optflags: m68k -O2 -g -fomit-frame-pointer
|
||||||
|
@@ -83,8 +84,8 @@ optflags: atariclone -O2 -g -fomit-frame
|
||||||
@@ -79,8 +82,8 @@ optflags: atariclone -O2 -g -fomit-frame
|
|
||||||
optflags: milan -O2 -g -fomit-frame-pointer
|
optflags: milan -O2 -g -fomit-frame-pointer
|
||||||
optflags: hades -O2 -g -fomit-frame-pointer
|
optflags: hades -O2 -g -fomit-frame-pointer
|
||||||
|
|
||||||
@ -75,17 +78,7 @@
|
|||||||
|
|
||||||
optflags: sh3 -O2 -g
|
optflags: sh3 -O2 -g
|
||||||
optflags: sh4 -O2 -g -mieee
|
optflags: sh4 -O2 -g -mieee
|
||||||
@@ -184,7 +187,9 @@ arch_canon: armv4l: armv4l 12
|
@@ -255,17 +256,17 @@ os_canon: MacOSX: macosx 21
|
||||||
arch_canon: armv5tel: armv5tel 12
|
|
||||||
arch_canon: armv5tejl: armv5tejl 12
|
|
||||||
arch_canon: armv6l: armv6l 12
|
|
||||||
+arch_canon: armv6hl: armv6hl 12
|
|
||||||
arch_canon: armv7l: armv7l 12
|
|
||||||
+arch_canon: armv7hl: armv7hl 12
|
|
||||||
|
|
||||||
arch_canon: m68kmint: m68kmint 13
|
|
||||||
arch_canon: atarist: m68kmint 13
|
|
||||||
@@ -248,17 +253,17 @@ os_canon: MacOSX: macosx 21
|
|
||||||
#############################################################
|
#############################################################
|
||||||
# For a given uname().machine, the default build arch
|
# For a given uname().machine, the default build arch
|
||||||
|
|
||||||
@ -111,17 +104,7 @@
|
|||||||
buildarchtranslate: i486: i386
|
buildarchtranslate: i486: i386
|
||||||
buildarchtranslate: i386: i386
|
buildarchtranslate: i386: i386
|
||||||
|
|
||||||
@@ -297,7 +302,9 @@ buildarchtranslate: armv4tl: armv4tl
|
@@ -334,6 +335,15 @@ buildarchtranslate: sh4a: sh4
|
||||||
buildarchtranslate: armv5tel: armv5tel
|
|
||||||
buildarchtranslate: armv5tejl: armv5tejl
|
|
||||||
buildarchtranslate: armv6l: armv6l
|
|
||||||
+buildarchtranslate: armv6hl: armv6hl
|
|
||||||
buildarchtranslate: armv7l: armv7l
|
|
||||||
+buildarchtranslate: armv7hl: armv7hl
|
|
||||||
|
|
||||||
buildarchtranslate: m68k: m68k
|
|
||||||
|
|
||||||
@@ -324,6 +331,15 @@ buildarchtranslate: sh4a: sh4
|
|
||||||
|
|
||||||
buildarchtranslate: aarch64: aarch64
|
buildarchtranslate: aarch64: aarch64
|
||||||
|
|
||||||
@ -137,7 +120,7 @@
|
|||||||
#############################################################
|
#############################################################
|
||||||
# Architecture compatibility
|
# Architecture compatibility
|
||||||
|
|
||||||
@@ -381,14 +397,20 @@ arch_compat: mipsel: noarch
|
@@ -391,14 +401,20 @@ arch_compat: mipsel: noarch
|
||||||
arch_compat: hppa2.0: hppa1.2
|
arch_compat: hppa2.0: hppa1.2
|
||||||
arch_compat: hppa1.2: hppa1.1
|
arch_compat: hppa1.2: hppa1.1
|
||||||
arch_compat: hppa1.1: hppa1.0
|
arch_compat: hppa1.1: hppa1.0
|
||||||
@ -160,7 +143,7 @@
|
|||||||
arch_compat: armv4tl: armv4l
|
arch_compat: armv4tl: armv4l
|
||||||
arch_compat: armv4l: armv3l
|
arch_compat: armv4l: armv3l
|
||||||
arch_compat: armv3l: noarch
|
arch_compat: armv3l: noarch
|
||||||
@@ -407,7 +429,7 @@ arch_compat: i370: noarch
|
@@ -420,7 +436,7 @@ arch_compat: i370: noarch
|
||||||
arch_compat: s390: noarch
|
arch_compat: s390: noarch
|
||||||
arch_compat: s390x: s390 noarch
|
arch_compat: s390x: s390 noarch
|
||||||
|
|
||||||
@ -169,7 +152,7 @@
|
|||||||
|
|
||||||
arch_compat: x86_64: amd64 em64t athlon noarch
|
arch_compat: x86_64: amd64 em64t athlon noarch
|
||||||
arch_compat: amd64: x86_64 em64t athlon noarch
|
arch_compat: amd64: x86_64 em64t athlon noarch
|
||||||
@@ -492,12 +514,15 @@ buildarch_compat: ppc64le: noarch fat
|
@@ -505,12 +521,15 @@ buildarch_compat: ppc64le: noarch fat
|
||||||
buildarch_compat: ppc64pseries: ppc64
|
buildarch_compat: ppc64pseries: ppc64
|
||||||
buildarch_compat: ppc64iseries: ppc64
|
buildarch_compat: ppc64iseries: ppc64
|
||||||
buildarch_compat: ppc64p7: ppc64
|
buildarch_compat: ppc64p7: ppc64
|
||||||
@ -185,7 +168,7 @@
|
|||||||
buildarch_compat: armv6l: armv5tejl
|
buildarch_compat: armv6l: armv5tejl
|
||||||
buildarch_compat: armv5tejl: armv5tel
|
buildarch_compat: armv5tejl: armv5tel
|
||||||
buildarch_compat: armv5tel: armv4tl
|
buildarch_compat: armv5tel: armv4tl
|
||||||
@@ -508,7 +533,8 @@ buildarch_compat: armv3l: noarch
|
@@ -525,7 +544,8 @@ buildarch_compat: armv6hl: noarch
|
||||||
buildarch_compat: hppa2.0: hppa1.2
|
buildarch_compat: hppa2.0: hppa1.2
|
||||||
buildarch_compat: hppa1.2: hppa1.1
|
buildarch_compat: hppa1.2: hppa1.1
|
||||||
buildarch_compat: hppa1.1: hppa1.0
|
buildarch_compat: hppa1.1: hppa1.0
|
||||||
|
@ -2,18 +2,18 @@ Suspend exclusive database lock when scriptlets get called, allowing
|
|||||||
read access in scriptlets. Only needed for DB_PRIVATE (aka global)
|
read access in scriptlets. Only needed for DB_PRIVATE (aka global)
|
||||||
locking.
|
locking.
|
||||||
|
|
||||||
--- ./lib/backend/db3.c.orig 2012-06-01 10:50:11.000000000 +0000
|
--- ./lib/backend/db3.c.orig 2014-08-04 12:25:29.288759808 +0000
|
||||||
+++ ./lib/backend/db3.c 2012-06-01 10:50:19.000000000 +0000
|
+++ ./lib/backend/db3.c 2014-08-04 12:30:30.829430726 +0000
|
||||||
@@ -628,3 +628,59 @@ int dbiOpen(rpmdb rdb, rpmDbiTagVal rpmt
|
@@ -625,6 +625,63 @@ static int dbiFlock(dbiIndex dbi, int mo
|
||||||
|
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
+
|
|
||||||
+int dbiSuspendDBLock(dbiIndex dbi, unsigned int flags)
|
+int dbiSuspendDBLock(dbiIndex dbi, unsigned int flags)
|
||||||
+{
|
+{
|
||||||
+ struct flock l;
|
+ struct flock l;
|
||||||
+ int rc = 0;
|
+ int rc = 0;
|
||||||
+ int fdno = -1;
|
+ int fdno = -1;
|
||||||
|
+ DB * db = dbi->dbi_db;
|
||||||
+
|
+
|
||||||
+ if (!dbi->dbi_lockdbfd)
|
+ if (!dbi->dbi_lockdbfd)
|
||||||
+ return 0;
|
+ return 0;
|
||||||
@ -21,7 +21,7 @@ locking.
|
|||||||
+ return 0;
|
+ return 0;
|
||||||
+ if (_lockdbfd == 0)
|
+ if (_lockdbfd == 0)
|
||||||
+ return 0;
|
+ return 0;
|
||||||
+ if (!(dbi->dbi_db->fd(dbi->dbi_db, &fdno) == 0 && fdno >= 0))
|
+ if (!(db->fd(db, &fdno) == 0 && fdno >= 0))
|
||||||
+ return 1;
|
+ return 1;
|
||||||
+ memset(&l, 0, sizeof(l));
|
+ memset(&l, 0, sizeof(l));
|
||||||
+ l.l_whence = 0;
|
+ l.l_whence = 0;
|
||||||
@ -40,6 +40,7 @@ locking.
|
|||||||
+ int rc = 0;
|
+ int rc = 0;
|
||||||
+ int tries;
|
+ int tries;
|
||||||
+ int fdno = -1;
|
+ int fdno = -1;
|
||||||
|
+ DB * db = dbi->dbi_db;
|
||||||
+
|
+
|
||||||
+ if (!dbi->dbi_lockdbfd)
|
+ if (!dbi->dbi_lockdbfd)
|
||||||
+ return 0;
|
+ return 0;
|
||||||
@ -47,7 +48,7 @@ locking.
|
|||||||
+ return 0;
|
+ return 0;
|
||||||
+ if (_lockdbfd == 0)
|
+ if (_lockdbfd == 0)
|
||||||
+ return 0;
|
+ return 0;
|
||||||
+ if (!(dbi->dbi_db->fd(dbi->dbi_db, &fdno) == 0 && fdno >= 0))
|
+ if (!(db->fd(db, &fdno) == 0 && fdno >= 0))
|
||||||
+ return 1;
|
+ return 1;
|
||||||
+ for (tries = 0; tries < 2; tries++) {
|
+ for (tries = 0; tries < 2; tries++) {
|
||||||
+ memset(&l, 0, sizeof(l));
|
+ memset(&l, 0, sizeof(l));
|
||||||
@ -64,9 +65,12 @@ locking.
|
|||||||
+ return rc;
|
+ return rc;
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
--- ./lib/backend/dbi.h.orig 2012-03-20 08:07:25.000000000 +0000
|
int dbiOpen(rpmdb rdb, rpmDbiTagVal rpmtag, dbiIndex * dbip, int flags)
|
||||||
+++ ./lib/backend/dbi.h 2012-06-01 10:53:43.000000000 +0000
|
{
|
||||||
@@ -90,6 +90,24 @@ struct dbiIndex_s {
|
const char *dbhome = rpmdbHome(rdb);
|
||||||
|
--- ./lib/backend/dbi.h.orig 2014-06-26 06:51:54.101820242 +0000
|
||||||
|
+++ ./lib/backend/dbi.h 2014-08-04 12:25:29.288759808 +0000
|
||||||
|
@@ -92,6 +92,24 @@ struct dbiIndex_s {
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -91,39 +95,39 @@ locking.
|
|||||||
|
|
||||||
RPM_GNUC_INTERNAL
|
RPM_GNUC_INTERNAL
|
||||||
/* Globally enable/disable fsync in the backend */
|
/* Globally enable/disable fsync in the backend */
|
||||||
--- ./lib/psm.c.orig 2012-06-01 10:50:11.000000000 +0000
|
--- ./lib/psm.c.orig 2014-08-04 12:25:29.289759769 +0000
|
||||||
+++ ./lib/psm.c 2012-06-01 10:51:34.000000000 +0000
|
+++ ./lib/psm.c 2014-08-04 12:27:04.230340235 +0000
|
||||||
@@ -419,10 +419,12 @@ static rpmRC runScript(rpmpsm psm, ARGV_
|
@@ -291,10 +291,12 @@ static rpmRC runScript(rpmts ts, rpmte t
|
||||||
if (sfd == NULL)
|
if (sfd == NULL)
|
||||||
sfd = rpmtsScriptFd(psm->ts);
|
sfd = rpmtsScriptFd(ts);
|
||||||
|
|
||||||
+ rpmtsSuspendResumeDBLock(psm->ts, 0);
|
+ rpmtsSuspendResumeDBLock(ts, 0);
|
||||||
rpmswEnter(rpmtsOp(psm->ts, RPMTS_OP_SCRIPTLETS), 0);
|
rpmswEnter(rpmtsOp(ts, RPMTS_OP_SCRIPTLETS), 0);
|
||||||
rc = rpmScriptRun(script, arg1, arg2, sfd,
|
rc = rpmScriptRun(script, arg1, arg2, sfd,
|
||||||
prefixes, warn_only, selinux);
|
prefixes, warn_only, rpmtsPlugins(ts));
|
||||||
rpmswExit(rpmtsOp(psm->ts, RPMTS_OP_SCRIPTLETS), 0);
|
rpmswExit(rpmtsOp(ts, RPMTS_OP_SCRIPTLETS), 0);
|
||||||
+ rpmtsSuspendResumeDBLock(psm->ts, 1);
|
+ rpmtsSuspendResumeDBLock(ts, 1);
|
||||||
|
|
||||||
/* Map warn-only errors to "notfound" for script stop callback */
|
/* Map warn-only errors to "notfound" for script stop callback */
|
||||||
stoprc = (rc != RPMRC_OK && warn_only) ? RPMRC_NOTFOUND : rc;
|
stoprc = (rc != RPMRC_OK && warn_only) ? RPMRC_NOTFOUND : rc;
|
||||||
--- ./lib/rpmdb.c.orig 2012-06-01 10:50:11.000000000 +0000
|
--- ./lib/rpmdb.c.orig 2014-08-04 12:25:15.106821818 +0000
|
||||||
+++ ./lib/rpmdb.c 2012-06-01 10:50:19.000000000 +0000
|
+++ ./lib/rpmdb.c 2014-08-04 12:25:29.289759769 +0000
|
||||||
@@ -769,6 +769,12 @@ int rpmdbSync(rpmdb db)
|
@@ -475,6 +475,12 @@ exit:
|
||||||
return dbiForeach(db->_dbi, dbiSync, 0);
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
+int rpmdbSuspendResumeDBLock(rpmdb db, int mode)
|
+int rpmdbSuspendResumeDBLock(rpmdb db, int mode)
|
||||||
+{
|
+{
|
||||||
+ if (db == NULL) return 0;
|
+ if (db == NULL) return 0;
|
||||||
+ return dbiForeach(db->_dbi, mode ? dbiResumeDBLock : dbiSuspendDBLock, 0);
|
+ return dbiForeach(db->db_indexes, db->db_ndbi, mode ? dbiResumeDBLock : dbiSuspendDBLock, 0);
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
static rpmdb newRpmdb(const char * root, const char * home,
|
static rpmdb newRpmdb(const char * root, const char * home,
|
||||||
int mode, int perms, int flags)
|
int mode, int perms, int flags)
|
||||||
{
|
{
|
||||||
--- ./lib/rpmts.c.orig 2012-03-20 08:07:25.000000000 +0000
|
--- ./lib/rpmts.c.orig 2014-06-26 06:51:54.653818721 +0000
|
||||||
+++ ./lib/rpmts.c 2012-06-01 10:50:19.000000000 +0000
|
+++ ./lib/rpmts.c 2014-08-04 12:25:29.289759769 +0000
|
||||||
@@ -95,6 +95,11 @@ int rpmtsOpenDB(rpmts ts, int dbmode)
|
@@ -101,6 +101,11 @@ int rpmtsOpenDB(rpmts ts, int dbmode)
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -134,10 +138,10 @@ locking.
|
|||||||
+
|
+
|
||||||
int rpmtsInitDB(rpmts ts, int dbmode)
|
int rpmtsInitDB(rpmts ts, int dbmode)
|
||||||
{
|
{
|
||||||
rpmlock lock = rpmtsAcquireLock(ts);
|
rpmtxn txn = rpmtxnBegin(ts, RPMTXN_WRITE);
|
||||||
--- ./lib/rpmts.h.orig 2012-03-20 08:07:25.000000000 +0000
|
--- ./lib/rpmts.h.orig 2014-06-26 06:51:54.655818716 +0000
|
||||||
+++ ./lib/rpmts.h 2012-06-01 10:50:19.000000000 +0000
|
+++ ./lib/rpmts.h 2014-08-04 12:25:29.290759730 +0000
|
||||||
@@ -423,6 +423,8 @@ rpmdb rpmtsGetRdb(rpmts ts);
|
@@ -441,6 +441,8 @@ rpmdb rpmtsGetRdb(rpmts ts);
|
||||||
void * rpmtsNotify(rpmts ts, rpmte te,
|
void * rpmtsNotify(rpmts ts, rpmte te,
|
||||||
rpmCallbackType what, rpm_loff_t amount, rpm_loff_t total);
|
rpmCallbackType what, rpm_loff_t amount, rpm_loff_t total);
|
||||||
|
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
This used to be the taggedfileindex patch, but it's gone.
|
This used to be the taggedfileindex patch, but it's gone.
|
||||||
The remaining part just strips off the tag.
|
The remaining part just strips off the tag.
|
||||||
--- ./lib/rpmdb.c.orig 2011-05-11 14:27:32.000000000 +0000
|
|
||||||
+++ ./lib/rpmdb.c 2011-05-11 15:14:39.000000000 +0000
|
--- ./lib/backend/db3.c.orig 2014-08-04 12:45:25.907562115 +0000
|
||||||
@@ -257,6 +257,9 @@ static int dbt2set(dbiIndex dbi, DBT * d
|
+++ ./lib/backend/db3.c 2014-08-04 12:46:22.225318788 +0000
|
||||||
|
@@ -833,6 +833,9 @@ static int dbt2set(dbiIndex dbi, DBT * d
|
||||||
_DBSWAP(hdrNum);
|
_DBSWAP(hdrNum);
|
||||||
_DBSWAP(tagNum);
|
_DBSWAP(tagNum);
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
--- ./build/parsePreamble.c.orig 2014-02-25 14:14:15.892041649 +0000
|
--- ./build/parsePreamble.c.orig 2014-08-04 13:10:07.530953406 +0000
|
||||||
+++ ./build/parsePreamble.c 2014-02-25 14:14:26.237041631 +0000
|
+++ ./build/parsePreamble.c 2014-08-04 13:10:12.852929355 +0000
|
||||||
@@ -343,6 +343,7 @@ static struct tokenBits_s const installS
|
@@ -343,6 +343,7 @@ static struct tokenBits_s const installS
|
||||||
{ "verify", RPMSENSE_SCRIPT_VERIFY },
|
{ "verify", RPMSENSE_SCRIPT_VERIFY },
|
||||||
{ "pretrans", RPMSENSE_PRETRANS },
|
{ "pretrans", RPMSENSE_PRETRANS },
|
||||||
@ -8,120 +8,3 @@
|
|||||||
{ NULL, 0 }
|
{ NULL, 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
--- ./build/rpmfc.c.orig 2014-02-25 14:14:15.904041649 +0000
|
|
||||||
+++ ./build/rpmfc.c 2014-02-25 14:14:26.238041631 +0000
|
|
||||||
@@ -1156,6 +1156,12 @@ static struct DepMsg_s depMsgs[] = {
|
|
||||||
{ "Obsoletes", { "%{?__find_obsoletes}", NULL, NULL, NULL },
|
|
||||||
RPMTAG_OBSOLETENAME, RPMTAG_OBSOLETEVERSION, RPMTAG_OBSOLETEFLAGS,
|
|
||||||
0, -1 },
|
|
||||||
+ { "Enhances", { "%{?__find_enhances}", NULL, NULL, NULL },
|
|
||||||
+ RPMTAG_ENHANCENAME, RPMTAG_ENHANCEVERSION, RPMTAG_ENHANCEFLAGS,
|
|
||||||
+ 0, -1 },
|
|
||||||
+ { "Supplements", { "%{?__find_supplements}", NULL, NULL, NULL },
|
|
||||||
+ RPMTAG_SUPPLEMENTNAME, RPMTAG_SUPPLEMENTVERSION, RPMTAG_SUPPLEMENTFLAGS,
|
|
||||||
+ 0, -1 },
|
|
||||||
{ NULL, { NULL, NULL, NULL, NULL }, 0, 0, 0, 0, 0 }
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -1231,6 +1237,16 @@ static rpmRC rpmfcGenerateDependsHelper(
|
|
||||||
if (!pkg->autoReq)
|
|
||||||
continue;
|
|
||||||
tagflags = RPMSENSE_FIND_REQUIRES;
|
|
||||||
+ break;
|
|
||||||
+ case RPMTAG_ENHANCENAME:
|
|
||||||
+ if (!pkg->autoReq)
|
|
||||||
+ continue;
|
|
||||||
+ tagflags = RPMSENSE_FIND_REQUIRES;
|
|
||||||
+ break;
|
|
||||||
+ case RPMTAG_SUPPLEMENTNAME:
|
|
||||||
+ if (!pkg->autoReq)
|
|
||||||
+ continue;
|
|
||||||
+ tagflags = RPMSENSE_FIND_REQUIRES;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
continue;
|
|
||||||
--- ./lib/rpmds.c.orig 2014-02-25 14:14:15.834041649 +0000
|
|
||||||
+++ ./lib/rpmds.c 2014-02-25 14:14:47.963041593 +0000
|
|
||||||
@@ -86,6 +86,14 @@ static int dsType(rpmTagVal tag,
|
|
||||||
t = "Trigger";
|
|
||||||
evr = RPMTAG_TRIGGERVERSION;
|
|
||||||
f = RPMTAG_TRIGGERFLAGS;
|
|
||||||
+ } else if (tag == RPMTAG_OLDSUGGESTSNAME) {
|
|
||||||
+ t = "Oldsuggests";
|
|
||||||
+ evr = RPMTAG_OLDSUGGESTSVERSION;
|
|
||||||
+ f = RPMTAG_OLDSUGGESTSFLAGS;
|
|
||||||
+ } else if (tag == RPMTAG_OLDENHANCESNAME) {
|
|
||||||
+ t = "Oldenhances";
|
|
||||||
+ evr = RPMTAG_OLDENHANCESVERSION;
|
|
||||||
+ f = RPMTAG_OLDENHANCESFLAGS;
|
|
||||||
} else {
|
|
||||||
rc = 1;
|
|
||||||
}
|
|
||||||
--- ./lib/tagexts.c.orig 2014-02-25 14:14:15.839041649 +0000
|
|
||||||
+++ ./lib/tagexts.c 2014-02-25 14:18:53.707041158 +0000
|
|
||||||
@@ -906,6 +906,34 @@ static int depnevrsTag(Header h, rpmtd t
|
|
||||||
return (ndeps > 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
+#define RPMSENSE_STRONG (1 << 27)
|
|
||||||
+
|
|
||||||
+static int depnevrsTagFiltered(Header h, rpmtd td, headerGetFlags hgflags,
|
|
||||||
+ rpmTagVal tag, int strong)
|
|
||||||
+{
|
|
||||||
+ rpmds ds = rpmdsNew(h, tag, 0);
|
|
||||||
+ int ndeps = rpmdsCount(ds);
|
|
||||||
+
|
|
||||||
+ if (ndeps > 0) {
|
|
||||||
+ char **deps = xmalloc(sizeof(*deps) * ndeps);
|
|
||||||
+ ndeps = 0;
|
|
||||||
+ while (rpmdsNext(ds) >= 0) {
|
|
||||||
+ if ((rpmdsFlags(ds) & RPMSENSE_STRONG) == (strong ? RPMSENSE_STRONG : 0))
|
|
||||||
+ deps[ndeps++] = rpmdsNewDNEVR(NULL, ds);
|
|
||||||
+ }
|
|
||||||
+ if (ndeps) {
|
|
||||||
+ td->data = deps;
|
|
||||||
+ td->type = RPM_STRING_ARRAY_TYPE;
|
|
||||||
+ td->count = ndeps;
|
|
||||||
+ td->flags |= (RPMTD_ALLOCED | RPMTD_PTR_ALLOCED);
|
|
||||||
+ } else {
|
|
||||||
+ _free(deps);
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ rpmdsFree(ds);
|
|
||||||
+ return (ndeps > 0);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
static int requirenevrsTag(Header h, rpmtd td, headerGetFlags hgflags)
|
|
||||||
{
|
|
||||||
return depnevrsTag(h, td, hgflags, RPMTAG_REQUIRENAME);
|
|
||||||
@@ -913,22 +941,26 @@ static int requirenevrsTag(Header h, rpm
|
|
||||||
|
|
||||||
static int recommendnevrsTag(Header h, rpmtd td, headerGetFlags hgflags)
|
|
||||||
{
|
|
||||||
- return depnevrsTag(h, td, hgflags, RPMTAG_RECOMMENDNAME);
|
|
||||||
+ return depnevrsTag(h, td, hgflags, RPMTAG_RECOMMENDNAME) ||
|
|
||||||
+ depnevrsTagFiltered(h, td, hgflags, RPMTAG_OLDSUGGESTSNAME, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
static int suggestnevrsTag(Header h, rpmtd td, headerGetFlags hgflags)
|
|
||||||
{
|
|
||||||
- return depnevrsTag(h, td, hgflags, RPMTAG_SUGGESTNAME);
|
|
||||||
+ return depnevrsTag(h, td, hgflags, RPMTAG_SUGGESTNAME) ||
|
|
||||||
+ depnevrsTagFiltered(h, td, hgflags, RPMTAG_OLDSUGGESTSNAME, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
static int supplementnevrsTag(Header h, rpmtd td, headerGetFlags hgflags)
|
|
||||||
{
|
|
||||||
- return depnevrsTag(h, td, hgflags, RPMTAG_SUPPLEMENTNAME);
|
|
||||||
+ return depnevrsTag(h, td, hgflags, RPMTAG_SUPPLEMENTNAME) ||
|
|
||||||
+ depnevrsTagFiltered(h, td, hgflags, RPMTAG_OLDENHANCESNAME, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
static int enhancenevrsTag(Header h, rpmtd td, headerGetFlags hgflags)
|
|
||||||
{
|
|
||||||
- return depnevrsTag(h, td, hgflags, RPMTAG_ENHANCENAME);
|
|
||||||
+ return depnevrsTag(h, td, hgflags, RPMTAG_ENHANCENAME) ||
|
|
||||||
+ depnevrsTagFiltered(h, td, hgflags, RPMTAG_OLDENHANCESNAME, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
static int providenevrsTag(Header h, rpmtd td, headerGetFlags hgflags)
|
|
||||||
|
Loading…
Reference in New Issue
Block a user