Automatic import for version 5.4.9

This commit is contained in:
Rosa 2012-05-18 05:02:54 +04:00
parent 8aa8ada2d5
commit 69a4aea528
57 changed files with 572 additions and 1939 deletions

View file

@ -1,3 +1,3 @@
sources:
"cpu-os-macros.tar.gz": 99c5fa561dd0d897bfa8cd97f2aa60781bc578d4
"rpm-5.4.8.tar.gz": d3aff5ec51666e4dcb3aed9469e1dd11f566c73c
"rpm-5.4.9.tar.gz": 5bd26bb6aece4051b94ce86b81cdfd6c4c8498ee

View file

@ -1,12 +0,0 @@
--- rpm-5.3.10/tools/rpmdigest.c.doxygen~ 2009-10-10 15:57:00.000000000 +0200
+++ rpm-5.3.10/tools/rpmdigest.c 2011-05-16 09:28:13.242200969 +0200
@@ -898,8 +898,7 @@ The following two options are useful onl
N_("\
When checking, the input should be a former output of this program. The\n\
default mode is to print a line with digest, a character indicating type\n\
-(`*' for binary, ` ' for text), and name for each FILE.\n\
-"), NULL },
+(`*' for binary, ` ' for text), and name for each FILE.\n"), NULL },
POPT_TABLEEND
};

View file

@ -1,38 +0,0 @@
--- rpm-5.3.11/lib/psm.c.syslog~ 2011-05-25 16:21:51.465345513 +0200
+++ rpm-5.3.11/lib/psm.c 2011-05-25 16:21:54.565306757 +0200
@@ -65,6 +65,11 @@
#include "debug.h"
+#if HAVE_SYSLOG
+#include <syslog.h>
+#include <rpmlog.h>
+#endif
+
#define _PSM_DEBUG 0
/*@unchecked@*/
int _psm_debug = _PSM_DEBUG;
@@ -3070,9 +3075,9 @@ assert(psm->mi == NULL);
else
rc = rpmdbAdd(rpmtsGetRdb(ts), tid, fi->h, NULL);
(void) rpmswExit(rpmtsOp(ts, RPMTS_OP_DBADD), 0);
-#if defined(HAVE_SYSLOG_H) && defined(RPM_VENDOR_MANDRIVA) /* log-install-remove-to-syslog */
+#if defined(HAVE_SYSLOG) && defined(RPM_VENDOR_MANDRIVA) /* log-install-remove-to-syslog */
{
- char *s, fmt;
+ char *s, *fmt;
fmt = rpmExpand("%{___NVRA}", NULL);
s = headerSprintf(fi->h, fmt,
rpmTagTable, rpmHeaderFormats, NULL);
@@ -3110,9 +3115,9 @@ assert(psm->te != NULL);
(void) rpmswEnter(rpmtsOp(ts, RPMTS_OP_DBREMOVE), 0);
rc = rpmdbRemove(rpmtsGetRdb(ts), rpmtsGetTid(ts), fi->record, NULL);
(void) rpmswExit(rpmtsOp(ts, RPMTS_OP_DBREMOVE), 0);
-#if defined(HAVE_SYSLOG_H) && defined(RPM_VENDOR_MANDRIVA) /* log-install-remove-to-syslog */
+#if defined(HAVE_SYSLOG) && defined(RPM_VENDOR_MANDRIVA) /* log-install-remove-to-syslog */
{
- char *s, fmt;
+ char *s, *fmt;
fmt = rpmExpand("%{___NVRA}", NULL);
s = headerSprintf(fi->h, fmt,
rpmTagTable, rpmHeaderFormats, NULL);

View file

@ -1,11 +0,0 @@
--- rpm-5.3.8/po/ru.po.ru_typo~ 2011-02-10 22:25:44.205491002 +0100
+++ rpm-5.3.8/po/ru.po 2011-02-10 22:25:49.050491001 +0100
@@ -3015,7 +3015,7 @@ msgstr "(ÕÓÔÁÎÏ×ÌÅÎ)"
#: lib/rpmps.c:299
#, c-format
msgid "%s conflicts with %s%s"
-msgstr "%s ËÏÎÆÌÉËÔÕÅÔ Ó%s%s"
+msgstr "%s ËÏÎÆÌÉËÔÕÅÔ Ó %s%s"
#: lib/rpmps.c:305
#, fuzzy, c-format

View file

@ -1,11 +0,0 @@
--- rpm-5.4.4/macros/mandriva.in.compress_debug~ 2011-11-29 16:06:45.381159706 +0100
+++ rpm-5.4.4/macros/mandriva.in 2011-11-29 16:07:14.313207927 +0100
@@ -141,7 +141,7 @@ end\
# - %{mklibname test 1 -d 0 -s} => libtest1_0-static-devel
%mklibname(ds) %{_lib}%{1}%{?2:%{2}}%{?3:_%{3}}%{-s:-static}%{-d:-devel}
-%debugcflags %{?_enable_debug_packages:-gdwarf-4 -fvar-tracking-assignments -frecord-gcc-switches -Wstrict-aliasing=2}
+%debugcflags %{?_enable_debug_packages:-Wa,--compress-debug-sections -gdwarf-4 -fvar-tracking-assignments -frecord-gcc-switches -Wstrict-aliasing=2}
# common compilation flags

View file

@ -1,11 +0,0 @@
--- rpm-5.4.4/scripts/find-debuginfo.sh.gdb_index~ 2011-11-28 17:08:42.543140658 +0100
+++ rpm-5.4.4/scripts/find-debuginfo.sh 2011-11-28 17:08:45.829144152 +0100
@@ -226,6 +226,8 @@ while read nlinks inum f; do
$strict && exit 2
fi
+ [ -x /usr/bin/gdb-add-index ] && /usr/bin/gdb-add-index "$f" > /dev/null 2>&1
+
# A binary already copied into /usr/lib/debug doesn't get stripped,
# just has its file names collected and adjusted.
case "$dn" in

View file

@ -1,374 +0,0 @@
--- rpm-5.4.4/tools/debugedit.c.whitespace~ 2011-11-28 15:40:48.395405934 +0100
+++ rpm-5.4.4/tools/debugedit.c 2011-11-28 16:15:17.538359147 +0100
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001, 2002, 2003, 2005, 2007, 2009 Red Hat, Inc.
+/* Copyright (C) 2001, 2002, 2003, 2005, 2007, 2009, 2010 Red Hat, Inc.
Written by Alexander Larsson <alexl@redhat.com>, 2002
Based on code by Jakub Jelinek <jakub@redhat.com>, 2001.
@@ -470,13 +470,13 @@ has_prefix (const char *str,
{
size_t str_len;
size_t prefix_len;
-
+
str_len = strlen (str);
prefix_len = strlen (prefix);
if (str_len < prefix_len)
return 0;
-
+
return strncmp (str, prefix, prefix_len) == 0;
}
@@ -494,9 +494,9 @@ edit_dwarf2_line (DSO *dso, rpmuint32_t
if (phase != 0)
return 0;
-
+
ptr += off;
-
+
endcu = ptr + 4;
endcu += read_32 (ptr);
if (endcu == ptr + 0xffffffff)
@@ -528,10 +528,10 @@ edit_dwarf2_line (DSO *dso, rpmuint32_t
dso->filename);
return 1;
}
-
+
opcode_base = ptr[4];
ptr = dir = ptr + 4 + opcode_base;
-
+
/* dir table: */
value = 1;
while (*ptr != 0)
@@ -626,12 +626,12 @@ edit_dwarf2_line (DSO *dso, rpmuint32_t
}
free (s);
-
+
read_uleb128 (ptr);
read_uleb128 (ptr);
}
++ptr;
-
+
if (dest_dir)
{
unsigned char *srcptr, *buf = NULL;
@@ -657,11 +657,11 @@ edit_dwarf2_line (DSO *dso, rpmuint32_t
if (*srcptr == '/' && has_prefix ((char *)srcptr, base_dir))
{
if (dest_len < base_len)
- ++abs_dir_cnt;
+ ++abs_dir_cnt;
memcpy (ptr, dest_dir, dest_len);
ptr += dest_len;
readptr += base_len;
- }
+ }
srcptr += len;
shrank += srcptr - readptr;
@@ -670,9 +670,9 @@ edit_dwarf2_line (DSO *dso, rpmuint32_t
shrank -= len;
ptr += len;
- elf_flagdata (debug_sections[DEBUG_STR].elf_data,
- ELF_C_SET, ELF_F_DIRTY);
- }
+ elf_flagdata (debug_sections[DEBUG_STR].elf_data,
+ ELF_C_SET, ELF_F_DIRTY);
+ }
if (shrank > 0)
{
@@ -680,7 +680,7 @@ edit_dwarf2_line (DSO *dso, rpmuint32_t
error (EXIT_FAILURE, 0,
"canonicalization unexpectedly shrank by one character");
else
- {
+ {
memset (ptr, 'X', shrank);
ptr += shrank;
*ptr++ = '\0';
@@ -734,8 +734,6 @@ edit_dwarf2_line (DSO *dso, rpmuint32_t
return 0;
}
-
-
static unsigned char *
edit_attributes (DSO *dso, unsigned char *ptr, struct abbrev_tag *t, int phase)
{
@@ -752,7 +750,6 @@ edit_attributes (DSO *dso, unsigned char
rpmuint32_t form = t->attr[i].form;
size_t len = 0;
size_t base_len, dest_len;
-
while (1)
{
@@ -766,14 +763,14 @@ edit_attributes (DSO *dso, unsigned char
}
if (t->attr[i].attr == DW_AT_comp_dir)
- {
- if ( form == DW_FORM_string )
- {
+ {
+ if (form == DW_FORM_string)
+ {
free (comp_dir);
comp_dir = strdup ((char *)ptr);
if (phase == 1 && dest_dir && has_prefix ((char *)ptr, base_dir))
- {
+ {
base_len = strlen (base_dir);
dest_len = strlen (dest_dir);
@@ -783,15 +780,16 @@ edit_attributes (DSO *dso, unsigned char
memset(ptr + dest_len, '/',
base_len - dest_len);
- }
+
+ }
elf_flagdata (debug_sections[DEBUG_INFO].elf_data,
ELF_C_SET, ELF_F_DIRTY);
- }
- }
-
+ }
+ }
+
else if (form == DW_FORM_strp &&
debug_sections[DEBUG_STR].data)
- {
+ {
char *dir;
dir = (char *) debug_sections[DEBUG_STR].data
@@ -801,21 +799,21 @@ edit_attributes (DSO *dso, unsigned char
comp_dir = strdup (dir);
if (phase == 1 && dest_dir && has_prefix (dir, base_dir))
- {
+ {
base_len = strlen (base_dir);
dest_len = strlen (dest_dir);
memcpy (dir, dest_dir, dest_len);
if (dest_len < base_len)
- {
+ {
memmove (dir + dest_len, dir + base_len,
strlen (dir + base_len) + 1);
- }
+ }
elf_flagdata (debug_sections[DEBUG_STR].elf_data,
ELF_C_SET, ELF_F_DIRTY);
- }
- }
- }
+ }
+ }
+ }
else if ((t->tag == DW_TAG_compile_unit
|| t->tag == DW_TAG_partial_unit)
&& t->attr[i].attr == DW_AT_name
@@ -823,9 +821,9 @@ edit_attributes (DSO *dso, unsigned char
&& debug_sections[DEBUG_STR].data)
{
char *name;
-
+
name = (char *) debug_sections[DEBUG_STR].data
- + do_read_32_relocated (ptr);
+ + do_read_32_relocated (ptr);
if (*name == '/' && comp_dir == NULL)
{
char *enddir = strrchr (name, '/');
@@ -844,7 +842,7 @@ edit_attributes (DSO *dso, unsigned char
{
base_len = strlen (base_dir);
dest_len = strlen (dest_dir);
-
+
memcpy (name, dest_dir, dest_len);
if (dest_len < base_len)
{
@@ -922,7 +920,7 @@ edit_attributes (DSO *dso, unsigned char
if (form == DW_FORM_block1)
ptr += len;
-
+
break;
}
}
@@ -1011,7 +1009,7 @@ edit_dwarf2 (DSO *dso)
return 1;
}
- scn = dso->scn[i];
+ scn = dso->scn[i];
data = elf_rawdata (scn, NULL);
assert (data != NULL && data->d_buf != NULL);
assert (elf_rawdata (scn, data) == NULL);
@@ -1087,7 +1085,7 @@ edit_dwarf2 (DSO *dso)
int rtype;
i = debug_sections[DEBUG_INFO].relsec;
- scn = dso->scn[i];
+ scn = dso->scn[i];
data = elf_getdata (scn, NULL);
assert (data != NULL && data->d_buf != NULL);
assert (elf_getdata (scn, data) == NULL);
@@ -1205,13 +1203,13 @@ edit_dwarf2 (DSO *dso)
error (0, 0, "%s: 64-bit DWARF not supported", dso->filename);
return 1;
}
-
+
if (endcu > endsec)
{
error (0, 0, "%s: .debug_info too small", dso->filename);
return 1;
}
-
+
cu_version = read_16 (ptr);
if (cu_version != 2 && cu_version != 3)
{
@@ -1219,7 +1217,7 @@ edit_dwarf2 (DSO *dso)
cu_version);
return 1;
}
-
+
value = read_32_relocated (ptr);
if (value >= debug_sections[DEBUG_ABBREV].size)
{
@@ -1230,7 +1228,7 @@ edit_dwarf2 (DSO *dso)
dso->filename);
return 1;
}
-
+
if (ptr_size == 0)
{
ptr_size = read_1 (ptr);
@@ -1247,12 +1245,12 @@ edit_dwarf2 (DSO *dso)
dso->filename);
return 1;
}
-
+
abbrev = read_abbrev (dso,
debug_sections[DEBUG_ABBREV].data + value);
if (abbrev == NULL)
return 1;
-
+
while (ptr < endcu)
{
tag.entry = read_uleb128 (ptr);
@@ -1266,18 +1264,18 @@ edit_dwarf2 (DSO *dso)
htab_delete (abbrev);
return 1;
}
-
+
ptr = edit_attributes (dso, ptr, t, phase);
if (ptr == NULL)
break;
}
-
+
htab_delete (abbrev);
}
}
free (relbuf);
}
-
+
return 0;
}
@@ -1340,7 +1338,7 @@ fdopen_dso (int fd, const char *name)
}
elf_flagelf (elf, ELF_C_SET, ELF_F_LAYOUT);
-
+
memset (dso, 0, sizeof(DSO));
dso->elf = elf;
dso->ehdr = ehdr;
@@ -1515,7 +1513,7 @@ main (int argc, char *argv[])
argv[0]);
exit (1);
}
-
+
args = poptGetArgs (optCon);
if (args == NULL || args[0] == NULL || args[1] != NULL)
{
@@ -1554,12 +1552,12 @@ main (int argc, char *argv[])
free (dest_dir);
dest_dir = p;
}
-
+
if (list_file != NULL)
{
list_file_fd = open (list_file, O_WRONLY|O_CREAT|O_APPEND, 0644);
}
-
+
file = args[0];
if (elf_version(EV_CURRENT) == EV_NONE)
@@ -1591,7 +1589,7 @@ main (int argc, char *argv[])
for (i = 1; i < dso->ehdr.e_shnum; i++)
{
const char *name;
-
+
switch (dso->shdr[i].sh_type)
{
case SHT_PROGBITS:
@@ -1621,7 +1619,7 @@ main (int argc, char *argv[])
Elf_Data src = dst;
src.d_buf = data->d_buf;
assert (sizeof (Elf32_Nhdr) == sizeof (Elf64_Nhdr));
- while ((char *) data->d_buf + data->d_size -
+ while ((char *) data->d_buf + data->d_size -
(char *) src.d_buf > (int) sizeof nh
&& elf32_xlatetom (&dst, &src, dso->ehdr.e_ident[EI_DATA]))
{
@@ -1632,7 +1630,7 @@ main (int argc, char *argv[])
&& !memcmp ((char *) src.d_buf + sizeof nh, "GNU", sizeof "GNU"))
{
build_id = data;
- build_id_offset = (char *) src.d_buf + len -
+ build_id_offset = (char *) src.d_buf + len -
(char *) data->d_buf;
build_id_size = nh.n_descsz;
break;
@@ -1666,7 +1664,7 @@ main (int argc, char *argv[])
/* Restore old access rights */
chmod (file, stat_buf.st_mode);
-
+
poptFreeContext (optCon);
return 0;

View file

@ -1,11 +0,0 @@
--- rpm-5.4.4/scripts/find-debuginfo.sh.partial_strip~ 2011-11-30 16:23:34.000000000 +0100
+++ rpm-5.4.4/scripts/find-debuginfo.sh 2011-11-30 16:24:39.907094918 +0100
@@ -101,6 +101,8 @@ strip_to_debug()
$strip_g && case "$(file -bi "$2")" in
application/x-sharedlib*) g=-g ;;
esac
+ [ -n "$EXCLUDE_FULL_REGEXP" ] && grep -E -q "$EXCLUDE_FULL_REGEXP" <<< "$2" && g=-g
+
eu-strip --remove-comment $g $([ -n "$DISABLE_DEBUG" ] || echo $r -f "$1") "$2" || exit
[ -n "$DISABLE_DEBUG" ] || chmod 444 "$1" || exit
}

View file

@ -1,11 +0,0 @@
--- rpm-5.4.4/scripts/find-debuginfo.sh.no_sort~ 2011-11-17 13:40:39.178304643 +0100
+++ rpm-5.4.4/scripts/find-debuginfo.sh 2011-11-17 13:40:55.838325261 +0100
@@ -260,7 +260,7 @@ if [ -s "$SOURCEFILE" ]; then
LC_ALL=C sort -z -u "$SOURCEFILE" | egrep -v -z '(<internal>|<built-in>)$' |
(cd "$RPM_BUILD_DIR"; cpio -pd0mL "${RPM_BUILD_ROOT}/usr/src/debug")
# stupid cpio creates new directories in mode 0700, fixup
- find "${RPM_BUILD_ROOT}/usr/src/debug" -type d -print0 | LANG=C sort |
+ find "${RPM_BUILD_ROOT}/usr/src/debug" -type d -print0 |
xargs --no-run-if-empty -0 chmod a+rx
fi

View file

@ -1,11 +0,0 @@
--- rpm-5.4.4/scripts/find-lang.sh.man_comp~ 2011-11-17 13:13:59.283373348 +0100
+++ rpm-5.4.4/scripts/find-lang.sh 2011-11-17 13:14:06.727384048 +0100
@@ -207,7 +206,7 @@ s:^\([^%].*\)::
s:%lang(C) ::
/^$/d' >> $MO_NAME
-find "$TOP_DIR" -type f -o -type l|sed '
+find "$TOP_DIR" -type f -o -type l|sed -r 's/\.(bz2|gz|xz|lzma|Z)$//g' | sed '
s:'"$TOP_DIR"'::
'"$NO_ALL_NAME$MAN"'s:\(.*/man/\([^/_]\+\).*/man[a-z0-9]\+/'"$NAME"'\.[a-z0-9].*\):%lang(\2) \1*:
s:^\([^%].*\)::

View file

@ -1,70 +0,0 @@
--- rpm-5.4.4/scripts/find-lang.sh.multi~ 2011-11-16 17:38:32.041205264 +0100
+++ rpm-5.4.4/scripts/find-lang.sh 2011-11-16 19:19:38.995191384 +0100
@@ -13,6 +13,7 @@
# 2011-11-16 Per Øyvind Karlsen <peroyvind@mandriva.org>
# * add support for HTML files (from Mandriva)
+# * add support for multiple names
# 2004-06-20 Arkadiusz Miśkiewicz <arekm@pld-linux.org>
# * merge PLD changes, kde, all-name (mkochano,pascalek@PLD)
# 1999-10-19 Artur Frysiak <wiget@pld-linux.org>
@@ -52,7 +53,7 @@ fi
shift
if [ -z "$1" ] ; then usage
-else NAME=$1
+else NAMES[0]=$1
fi
shift
@@ -62,10 +63,9 @@ QT=#
MAN=#
HTML=#
MO=
-MO_NAME=$NAME.lang
+MO_NAME=${NAMES[0]}.lang
ALL_NAME=#
NO_ALL_NAME=
-
while test $# -gt 0 ; do
case "${1}" in
--with-gnome )
@@ -98,19 +98,28 @@ while test $# -gt 0 ; do
shift
;;
* )
+ if [ $MO_NAME != $NAME.lang ]; then
+ NAMES[${#NAMES[@]}]=$MO_NAME
+ fi
MO_NAME=${1}
shift
;;
esac
done
+if [ -f $MO_NAME ]; then
+ rm $MO_NAME
+fi
+
+for NAME in ${NAMES[@]}; do
+
find "$TOP_DIR" -type f -o -type l|sed '
s:'"$TOP_DIR"'::
'"$ALL_NAME$MO"'s:\(.*/locale/\)\([^/_]\+\)\(.*\.mo$\):%lang(\2) \1\2\3:
'"$NO_ALL_NAME$MO"'s:\(.*/locale/\)\([^/_]\+\)\(.*/'"$NAME"'\.mo$\):%lang(\2) \1\2\3:
s:^\([^%].*\)::
s:%lang(C) ::
-/^$/d' > $MO_NAME
+/^$/d' >> $MO_NAME
find "$TOP_DIR" -type d|sed '
s:'"$TOP_DIR"'::
@@ -205,6 +214,8 @@ s:^\([^%].*\)::
s:%lang(C) ::
/^$/d' >> $MO_NAME
+done
+
if ! grep -q / $MO_NAME; then
echo "No translations found for ${NAME} in ${TOP_DIR}"
exit 1

View file

@ -1,55 +0,0 @@
--- rpm-5.4.4/scripts/find-lang.sh.html~ 2011-12-11 01:32:55.311224149 +0100
+++ rpm-5.4.4/scripts/find-lang.sh 2011-12-11 01:35:12.559304829 +0100
@@ -11,6 +11,8 @@
#in tact and are included with any redistribution of this file or any
#work based on this file.
+# 2011-11-16 Per Øyvind Karlsen <peroyvind@mandriva.org>
+# * add support for HTML files (from Mandriva)
# 2004-06-20 Arkadiusz Miśkiewicz <arekm@pld-linux.org>
# * merge PLD changes, kde, all-name (mkochano,pascalek@PLD)
# 1999-10-19 Artur Frysiak <wiget@pld-linux.org>
@@ -33,6 +35,7 @@ Additional options:
--with-gnome find GNOME help files
--with-kde find KDE help files
--with-qt find Qt translation files
+ --with-html find HTML files
--with-man find localized man pages
--all-name match all package/domain names
--without-mo do not find locale files
@@ -58,6 +61,7 @@ GNOME=#
KDE=#
QT=#
MAN=#
+HTML=#
MO=
MO_NAME=$NAME.lang
ALL_NAME=#
@@ -81,6 +85,10 @@ while test $# -gt 0 ; do
MAN=
shift
;;
+ --with-html )
+ HTML=
+ shift
+ ;;
--without-mo )
MO=#
shift
@@ -159,6 +167,16 @@ s:%lang(C) ::
/^$/d' >> $MO_NAME
fi
+find "$TOP_DIR" -type d|sed '
+s:'"$TOP_DIR"'::
+'"$NO_ALL_NAME$HTML"'s:\(.*/doc/HTML/\)\([^/_]\+\)\(.*/'"$NAME"'/\)::
+'"$NO_ALL_NAME$HTML"'s:\(.*/doc/HTML/\)\([^/_]\+\)\(.*/'"$NAME"'\)$:%lang(\2) \1\2\3:
+'"$ALL_NAME$HTML"'s:\(.*/doc/HTML/\)\([^/_]\+\)\(.*/[a-zA-Z0-9.\_\-]\+/\)::
+'"$ALL_NAME$HTML"'s:\(.*/doc/HTML/\)\([^/_]\+\)\(.*/[a-zA-Z0-9.\_\-]\+$\):%lang(\2) \1\2\3:
+s:^\([^%].*\)::
+s:%lang(C) ::
+/^$/d' >> $MO_NAME
+
find "$TOP_DIR" -type f -o -type l|sed '
s:'"$TOP_DIR"'::
'"$NO_ALL_NAME$QT"'s:\(.*/'"$NAME"'_\([a-zA-Z]\{2\}\([_@].*\)\?\)\.qm$\):%lang(\2) \1:

View file

@ -1,11 +0,0 @@
--- rpm-5.4.4/macros/mandriva.in.macros_dir~ 2011-12-02 17:32:01.637645782 +0100
+++ rpm-5.4.4/macros/mandriva.in 2011-12-04 02:38:26.872452015 +0100
@@ -198,7 +198,7 @@ export CFLAGS="%optflags -fPIE"; export
%__gzip /bin/gzip
-%_sys_macros_dir %{_sysconfdir}/macros.d
+%_sys_macros_dir %{_sysconfdir}/rpm/macros.d
%build_sysmacrospath() %{_sys_macros_dir}/%{?1:%{1}}%{?!1:%{name}}.macros
# when %_with_git_repository is set, these macros modify the behaviour of "%prep" step:

View file

@ -1,17 +0,0 @@
--- rpm-5.4.4/lib/query.c.qf_non~ 2011-11-11 13:46:15.366139615 +0100
+++ rpm-5.4.4/lib/query.c 2011-11-11 13:46:53.976182024 +0100
@@ -705,8 +705,13 @@ JBJDEBUG((stderr, "--> %s(%p,%p,%p)\n",
}
qva->qva_mi = rpmtsInitIterator(ts, RPMTAG_FILEPATHS, fn, 0);
- if (qva->qva_mi == NULL && !provides_checked && !gotpattern)
+ if (qva->qva_mi == NULL && !provides_checked && !gotpattern) {
qva->qva_mi = rpmtsInitIterator(ts, RPMTAG_PROVIDENAME, fn, 0);
+#if defined(RPM_VENDOR_MANDRIVA)
+ if(rpmmiCount(qva->qva_mi) == 0)
+ qva->qva_mi = rpmmiFree(qva->qva_mi);
+#endif
+ }
if (qva->qva_mi == NULL) {
struct stat sb;

View file

@ -1,11 +0,0 @@
--- rpm-5.4.4/lib/rpmgi.c.rpm_qa~ 2011-11-11 23:03:05.580414137 +0100
+++ rpm-5.4.4/lib/rpmgi.c 2011-11-11 23:03:09.446536939 +0100
@@ -464,7 +464,7 @@ fprintf(stderr, "*** gi %p key %p[%d]\tm
pat = ae;
got++;
}
- if (got) {
+ if (got >= 0) {
if (_rpmgi_debug < 0)
fprintf(stderr, "\tav %p[%d]: \"%s\" -> %s ~= \"%s\"\n", gi->argv, (int)(av - gi->argv), *av, tagName(tag), pat);
got = rpmmiAddPattern(gi->mi, tag, RPMMIRE_DEFAULT, pat);

View file

@ -1,33 +0,0 @@
--- rpm-5.4.4/scripts/brp-strip-comment-note.quotes~ 2007-06-20 18:56:47.000000000 +0200
+++ rpm-5.4.4/scripts/brp-strip-comment-note 2011-11-28 16:59:30.906559660 +0100
@@ -16,7 +16,7 @@ esac
# Strip .comment and .note sections (the latter only if it is not allocated)
# 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 {} \; | \
grep -v "^${RPM_BUILD_ROOT}/\?usr/lib/debug" | \
sed -n -e 's/^\(.*\):[ ]*ELF.*, stripped/\1/p'`; do
note="-R .note"
--- rpm-5.4.4/scripts/brp-strip-shared.quotes~ 2007-06-20 18:56:47.000000000 +0200
+++ rpm-5.4.4/scripts/brp-strip-shared 2011-11-28 16:59:30.906559660 +0100
@@ -18,7 +18,7 @@ esac
# Strip ELF shared objects
# Please note we don't restrict our search to executable files because
# our libraries are not (should not be, at least) +x.
-for f in `find $RPM_BUILD_ROOT -type f -a -exec file {} \; | \
+for f in `find "$RPM_BUILD_ROOT" -type f -a -exec file {} \; | \
grep -v "^${RPM_BUILD_ROOT}/\?usr/lib/debug" | \
grep ' shared object,' | \
sed -n -e 's/^\(.*\):[ ]*ELF.*, not stripped/\1/p'`; do
--- rpm-5.4.4/scripts/find-debuginfo.sh.quotes~ 2011-11-28 16:59:04.000000000 +0100
+++ rpm-5.4.4/scripts/find-debuginfo.sh 2011-11-28 17:00:14.587605241 +0100
@@ -251,7 +251,7 @@ done || exit
# For each symlink whose target has a .debug file,
# make a .debug symlink to that file.
-find $RPM_BUILD_ROOT ! -path "${debugdir}/*" -type l -print | LANG=C sort |
+find "$RPM_BUILD_ROOT" ! -path "${debugdir}/*" -type l -print | LANG=C sort |
while read f
do
t=$(readlink -m "$f").debug

View file

@ -1,34 +0,0 @@
--- rpm-5.4.4/macros/mandriva.in.common~ 2011-11-24 15:33:32.908914943 +0100
+++ rpm-5.4.4/macros/mandriva.in 2011-11-24 15:33:35.721911916 +0100
@@ -165,4 +165,31 @@ export CFLAGS="%optflags -fPIE"; export
%serverbuild \
%{nil}
+#==============================================================================
+# ---- GPG/PGP/PGP5 signature macros.
+# Macro(s) to hold the arguments passed to GPG/PGP for package
+# signing and verification.
+#
+
+# We disable the gpg key automatic querying
+%_hkp_keyserver_query %nil
+
+
+# Verify digest/signature flags for various rpm modes:
+# 0x30300 (_RPMVSF_NODIGESTS) --nohdrchk if set, don't check digest(s)
+# 0xc0c00 (_RPMVSF_NOSIGNATURES) --nosignature if set, don't check signature(s)
+# 0xf0000 (_RPMVSF_NOPAYLOAD) --nolegacy if set, check header+payload (if possible)
+# 0x00f00 (_RPMVSF_NOHEADER) --nohdrchk if set, don't check rpmdb headers
+%_vsflags_query 0xc0c00
+
+
+# Open all indices before doing chroot(2).
+#
+%_openall_before_chroot 1
+
+%_repackage_all_erasures 0
+
+# activate filetriggers (cf http://wiki.mandriva.com/en/Rpm_filetriggers)
+%_filetriggers_dir /var/lib/rpm/filetriggers
+
%{load:/etc/rpm/macros.d/*.macros}

View file

@ -1,162 +0,0 @@
--- rpm-5.4.4/scripts/find-lang.sh.rpmorg~ 2011-11-11 11:06:28.698286682 +0100
+++ rpm-5.4.4/scripts/find-lang.sh 2011-11-11 11:06:34.704293763 +0100
@@ -1,7 +1,7 @@
#!/bin/sh
#findlang - automagically generate list of language specific files
#for inclusion in an rpm spec file.
-#This does assume that the *.mo files are under .../share/locale/...
+#This does assume that the *.mo files are under .../locale/...
#Run with no arguments gets a usage message.
#findlang is copyright (c) 1998 by W. L. Estes <wlestes@uncg.edu>
@@ -11,7 +11,7 @@
#in tact and are included with any redistribution of this file or any
#work based on this file.
-# 2004-06-20 Arkadiusz Mi¶kiewicz <arekm@pld-linux.org>
+# 2004-06-20 Arkadiusz MiÅkiewicz <arekm@pld-linux.org>
# * merge PLD changes, kde, all-name (mkochano,pascalek@PLD)
# 1999-10-19 Artur Frysiak <wiget@pld-linux.org>
# * added support for GNOME help files
@@ -32,8 +32,10 @@ to \$3.
Additional options:
--with-gnome find GNOME help files
--with-kde find KDE help files
+ --with-qt find Qt translation files
+ --with-man find localized man pages
--all-name match all package/domain names
- --without-mo not find locales files
+ --without-mo do not find locale files
EOF
exit 1
}
@@ -54,6 +56,8 @@ shift
GNOME=#
KDE=#
+QT=#
+MAN=#
MO=
MO_NAME=$NAME.lang
ALL_NAME=#
@@ -69,6 +73,14 @@ while test $# -gt 0 ; do
KDE=
shift
;;
+ --with-qt )
+ QT=
+ shift
+ ;;
+ --with-man )
+ MAN=
+ shift
+ ;;
--without-mo )
MO=#
shift
@@ -85,10 +97,10 @@ while test $# -gt 0 ; do
esac
done
-find "$TOP_DIR" -type f -or -type l|sed '
+find "$TOP_DIR" -type f -o -type l|sed '
s:'"$TOP_DIR"'::
-'"$ALL_NAME$MO"'s:\(.*/share/locale/\)\([^/_][^/_]*\)\(.*\.mo$\):%lang(\2) \1\2\3:
-'"$NO_ALL_NAME$MO"'s:\(.*/share/locale/\)\([^/_][^/_]*\)\(.*/'"$NAME"'\.mo$\):%lang(\2) \1\2\3:
+'"$ALL_NAME$MO"'s:\(.*/locale/\)\([^/_]\+\)\(.*\.mo$\):%lang(\2) \1\2\3:
+'"$NO_ALL_NAME$MO"'s:\(.*/locale/\)\([^/_]\+\)\(.*/'"$NAME"'\.mo$\):%lang(\2) \1\2\3:
s:^\([^%].*\)::
s:%lang(C) ::
/^$/d' > $MO_NAME
@@ -96,30 +108,79 @@ s:%lang(C) ::
find "$TOP_DIR" -type d|sed '
s:'"$TOP_DIR"'::
'"$NO_ALL_NAME$GNOME"'s:\(.*/gnome/help/'"$NAME"'$\):%dir \1:
-'"$NO_ALL_NAME$GNOME"'s:\(.*/gnome/help/'"$NAME"'/[a-zA-Z0-9.\_\-]/..*\)::
-'"$NO_ALL_NAME$GNOME"'s:\(.*/gnome/help/'"$NAME"'\/\)\([^/_][^/_]*\):%lang(\2) \1\2:
-'"$ALL_NAME$GNOME"'s:\(.*/gnome/help/[a-zA-Z0-9.\_\-]\{1,\}$\):%dir \1:
-'"$ALL_NAME$GNOME"'s:\(.*/gnome/help/[a-zA-Z0-9.\_\-]\{1,\}/[a-zA-Z0-9.\_\-]/..*\)::
-'"$ALL_NAME$GNOME"'s:\(.*/gnome/help/[a-zA-Z0-9.\_\-]\{1,\}\/\)\([^/_][^/_]*\):%lang(\2) \1\2:
-s:%lang(.*) .*/gnome/help/[a-zA-Z0-9.\_\-]\{1,\}/[a-zA-Z0-9.\_\-]\{1,\}/.*::
+'"$NO_ALL_NAME$GNOME"'s:\(.*/gnome/help/'"$NAME"'/[a-zA-Z0-9.\_\-]/.\+\)::
+'"$NO_ALL_NAME$GNOME"'s:\(.*/gnome/help/'"$NAME"'\/\)\([^/_]\+\):%lang(\2) \1\2:
+'"$ALL_NAME$GNOME"'s:\(.*/gnome/help/[a-zA-Z0-9.\_\-]\+$\):%dir \1:
+'"$ALL_NAME$GNOME"'s:\(.*/gnome/help/[a-zA-Z0-9.\_\-]\+/[a-zA-Z0-9.\_\-]/.\+\)::
+'"$ALL_NAME$GNOME"'s:\(.*/gnome/help/[a-zA-Z0-9.\_\-]\+\/\)\([^/_]\+\):%lang(\2) \1\2:
+s:%lang(.*) .*/gnome/help/[a-zA-Z0-9.\_\-]\+/[a-zA-Z0-9.\_\-]\+/.*::
s:^\([^%].*\)::
s:%lang(C) ::
/^$/d' >> $MO_NAME
+find "$TOP_DIR" -type d|sed '
+s:'"$TOP_DIR"'::
+'"$NO_ALL_NAME$GNOME"'s:\(.*/omf/'"$NAME"'$\):%dir \1:
+'"$ALL_NAME$GNOME"'s:\(.*/omf/[a-zA-Z0-9.\_\-]\+$\):%dir \1:
+s:^\([^%].*\)::
+/^$/d' >> $MO_NAME
+
find "$TOP_DIR" -type f|sed '
s:'"$TOP_DIR"'::
-'"$NO_ALL_NAME$GNOME"'s:\(.*/omf/'"$NAME"'/'"$NAME"'-\([^/.]\+\).omf\):%lang(\2) \1:
-'"$ALL_NAME$GNOME"'s:\(.*/omf/[a-zA-Z0-9.\_\-]\+/[a-zA-Z0-9.\_\-]\+-\([^/.]\+\).omf\):%lang(\2) \1:
+'"$NO_ALL_NAME$GNOME"'s:\(.*/omf/'"$NAME"'/'"$NAME"'-\([^/.]\+\)\.omf\):%lang(\2) \1:
+'"$ALL_NAME$GNOME"'s:\(.*/omf/[a-zA-Z0-9.\_\-]\+/[a-zA-Z0-9.\_\-]\+-\([^/.]\+\)\.omf\):%lang(\2) \1:
+s:^[^%].*::
+s:%lang(C) ::
+/^$/d' >> $MO_NAME
+
+KDE3_HTML=`kde-config --expandvars --install html 2>/dev/null`
+if [ x"$KDE3_HTML" != x -a -d "$TOP_DIR$KDE3_HTML" ]; then
+find "$TOP_DIR$KDE3_HTML" -type d|sed '
+s:'"$TOP_DIR"'::
+'"$NO_ALL_NAME$KDE"'s:\(.*/HTML/\)\([^/_]\+\)\(.*/'"$NAME"'/\)::
+'"$NO_ALL_NAME$KDE"'s:\(.*/HTML/\)\([^/_]\+\)\(.*/'"$NAME"'\)$:%lang(\2) \1\2\3:
+'"$ALL_NAME$KDE"'s:\(.*/HTML/\)\([^/_]\+\)\(.*/[a-zA-Z0-9.\_\-]\+/\)::
+'"$ALL_NAME$KDE"'s:\(.*/HTML/\)\([^/_]\+\)\(.*/[a-zA-Z0-9.\_\-]\+$\):%lang(\2) \1\2\3:
+s:^\([^%].*\)::
+s:%lang(C) ::
+/^$/d' >> $MO_NAME
+fi
+
+KDE4_HTML=`kde4-config --expandvars --install html 2>/dev/null`
+if [ x"$KDE4_HTML" != x -a -d "$TOP_DIR$KDE4_HTML" ]; then
+find "$TOP_DIR$KDE4_HTML" -type d|sed '
+s:'"$TOP_DIR"'::
+'"$NO_ALL_NAME$KDE"'s:\(.*/HTML/\)\([^/_]\+\)\(.*/'"$NAME"'/\)::
+'"$NO_ALL_NAME$KDE"'s:\(.*/HTML/\)\([^/_]\+\)\(.*/'"$NAME"'\)$:%lang(\2) \1\2\3:
+'"$ALL_NAME$KDE"'s:\(.*/HTML/\)\([^/_]\+\)\(.*/[a-zA-Z0-9.\_\-]\+/\)::
+'"$ALL_NAME$KDE"'s:\(.*/HTML/\)\([^/_]\+\)\(.*/[a-zA-Z0-9.\_\-]\+$\):%lang(\2) \1\2\3:
+s:^\([^%].*\)::
+s:%lang(C) ::
+/^$/d' >> $MO_NAME
+fi
+
+find "$TOP_DIR" -type f -o -type l|sed '
+s:'"$TOP_DIR"'::
+'"$NO_ALL_NAME$QT"'s:\(.*/'"$NAME"'_\([a-zA-Z]\{2\}\([_@].*\)\?\)\.qm$\):%lang(\2) \1:
+'"$ALL_NAME$QT"'s:\(.*/[^/_]\+_\([a-zA-Z]\{2\}[_@].*\)\.qm$\):%lang(\2) \1:
+'"$ALL_NAME$QT"'s:\(.*/[^/_]\+_\([a-zA-Z]\{2\}\)\.qm$\):%lang(\2) \1:
+'"$ALL_NAME$QT"'s:^\([^%].*/[^/]\+_\([a-zA-Z]\{2\}[_@].*\)\.qm$\):%lang(\2) \1:
+'"$ALL_NAME$QT"'s:^\([^%].*/[^/]\+_\([a-zA-Z]\{2\}\)\.qm$\):%lang(\2) \1:
s:^[^%].*::
s:%lang(C) ::
/^$/d' >> $MO_NAME
find "$TOP_DIR" -type d|sed '
s:'"$TOP_DIR"'::
-'"$NO_ALL_NAME$KDE"'s:\(.*/doc/kde/HTML/\)\([^/_][^/_]*\)\(.*/'"$NAME"'/\)::
-'"$NO_ALL_NAME$KDE"'s:\(.*/doc/kde/HTML/\)\([^/_][^/_]*\)\(.*/'"$NAME"'\)$:%lang(\2) \1\2\3:
-'"$ALL_NAME$KDE"'s:\(.*/doc/kde/HTML/\)\([^/_]\{1,\}\)\(.*/[a-zA-Z0-9.\_\-]\{1,\}/\)::
-'"$ALL_NAME$KDE"'s:\(.*/doc/kde/HTML/\)\([^/_]\{1,\}\)\(.*/[a-zA-Z0-9.\_\-]\{1,\}$\):%lang(\2) \1\2\3:
+'"$ALL_NAME$MAN"'s:\(.*/man/\([^/_]\+\).*/man[a-z0-9]\+/\)::
+'"$ALL_NAME$MAN"'s:\(.*/man/\([^/_]\+\).*/man[a-z0-9]\+$\):%lang(\2) \1*:
+s:^\([^%].*\)::
+s:%lang(C) ::
+/^$/d' >> $MO_NAME
+
+find "$TOP_DIR" -type f -o -type l|sed '
+s:'"$TOP_DIR"'::
+'"$NO_ALL_NAME$MAN"'s:\(.*/man/\([^/_]\+\).*/man[a-z0-9]\+/'"$NAME"'\.[a-z0-9].*\):%lang(\2) \1*:
s:^\([^%].*\)::
s:%lang(C) ::
/^$/d' >> $MO_NAME

View file

@ -1,67 +0,0 @@
--- rpm-5.4.4/macros/mandriva.in.manbo~ 2011-11-17 15:30:12.954792166 +0100
+++ rpm-5.4.4/macros/mandriva.in 2011-11-17 15:29:25.105725054 +0100
@@ -79,6 +79,13 @@ end\
%_loop_detection_loglevel 4
+
+%_sysconfdir /etc
+%_defaultdocdir %{_datadir}/doc
+%_localstatedir %{_var}
+%_logdir %{_var}/log
+%_libexecdir %{_libdir}
+
# mdvbz#62741
# standard systemd directories
%_systemdrootdir /lib/systemd
@@ -112,4 +119,50 @@ end\
# TODO: fix check script and implement support for using
#%_multiarch_required_terminate_build 1
+%_enable_debug_packages 1
+
+
+# Default extension to use (for info files)
+%_extension .xz
+
+
+%__install_info /sbin/install-info
+
+%_install_info() if [[ -f %{_infodir}/%{1}%{_extension} ]]; then %{__install_info} %{_infodir}/%{1}%{_extension} --dir=%{_infodir}/dir; fi \
+%{nil}
+# (nb: keep the "alone on its line ';'")
+%_remove_install_info() if [ "$1" = "0" ]; then if [[ -f %{_infodir}/%{1}%{_extension} ]]; then %{__install_info} %{_infodir}/%{1}%{_extension} --dir=%{_infodir}/dir --remove ; fi; fi \
+%{nil}
+
+
+# Macro: %{mklibname <name> [<major> [<minor>]] [-s] [-d]}
+# - %{mklibname test} => lib64test, on a lib64 platform
+# - %{mklibname test 1 -d} => libtest1-devel
+# - %{mklibname test 1 -d 0 -s} => libtest1_0-static-devel
+%mklibname(ds) %{_lib}%{1}%{?2:%{2}}%{?3:_%{3}}%{-s:-static}%{-d:-devel}
+
+%debugcflags %{?_enable_debug_packages:-g -frecord-gcc-switches -Wstrict-aliasing=2}
+
+# common compilation flags
+
+%_fortify_cflags -Wp,-D_FORTIFY_SOURCE=2
+
+# cf http://wiki.mandriva.com/en/Development/Packaging/Problems#format_not_a_string_literal_and_no_format_arguments
+%Werror_cflags -Wformat -Werror=format-security
+
+%_ssp_cflags -fstack-protector --param=ssp-buffer-size=4%{?_serverbuild_flags: %_serverbuild_flags}
+%__common_cflags -O2 %{debugcflags} -pipe %{Werror_cflags} %{?_fortify_cflags}
+%__common_cflags_with_ssp %{__common_cflags} %{?_ssp_cflags}
+
+# Servers opt flags.
+# Also set the env variables for backward compatibility (#32050).
+%serverbuild %define _serverbuild_flags -fstack-protector-all \
+export CFLAGS="%optflags -fPIE"; export CXXFLAGS="%optflags -fPIE"; export RPM_OPT_FLAGS="%optflags -fPIE" \
+%{nil}
+
+# Hardened Servers opt flags.
+%serverbuild_hardened %define _hardened_flags -Wl,-z,now -pie \
+%serverbuild \
+%{nil}
+
%{load:/etc/rpm/macros.d/*.macros}

View file

@ -1,303 +0,0 @@
--- rpm-5.4.4/macros/mandriva.in.build~ 2011-11-24 15:52:00.957832674 +0100
+++ rpm-5.4.4/macros/mandriva.in 2011-11-24 15:54:35.315919827 +0100
@@ -195,4 +195,300 @@ export CFLAGS="%optflags -fPIE"; export
# use XZ to compress binary packages:
%_binary_payload w5.xzdio
+
+%__gzip /bin/gzip
+
+%_sys_macros_dir %{_sysconfdir}/macros.d
+%build_sysmacrospath() %{_sys_macros_dir}/%{?1:%{1}}%{?!1:%{name}}.macros
+
+# when %_with_git_repository is set, these macros modify the behaviour of "%prep" step:
+%_after_setup %{?_with_git_repository:GIT_URL="%{?git_url}" GIT_REPOSITORY_CACHE=%{?git_repository_cache} @USRLIBRPM@/@RPMCANONVENDOR@/git-repository--after-tarball}
+%_patch %{?_with_git_repository:PKG_NAME=%{name} @USRLIBRPM@/@RPMCANONVENDOR@/git-repository--apply-patch}%{?!_with_git_repository:%__patch -U}
+
+# used by "git-repository--after-tarball":
+%git_repository_cache %_topdir/%{name}.git
+
+
+# Various programs used in rpm scripts
+%_update_desktop_database_bin %{_bindir}/update-desktop-database
+%_update_mime_database_bin %{_bindir}/update-mime-database
+%_update_icon_cache_bin %{_bindir}/gtk-update-icon-cache
+%_gconftool_bin %{_bindir}/gconftool-2
+%_scrollkeeper_bin %{_bindir}/scrollkeeper-update
+
+%__service /sbin/service
+%__chkconfig /sbin/chkconfig
+
+#==============================================================================
+# ---- Required rpmrc macros.
+# Macros that used to be initialized as a side effect of rpmrc parsing.
+# These are the default values that can be overridden by other
+# (e.g. per-platform, per-system, per-packager, per-package) macros.
+#
+
+%debug_package_and_restore %{debug_package} \
+%package __restore__\
+Summary: %{summary}\
+Group: %{group}\
+%description __restore__
+
+%_arch_tag_suffix (%_lib)
+%arch_tagged() %{1}%{_arch_tag_suffix} %{?2:%{2} %{3}%{?!3:%{error:undefined 3rd argument in arch_tagged}}}
+
+# Games macros
+%_gamesdir games
+%_gamesbindir %{_prefix}/%{_gamesdir}
+%_gamesdatadir %{_datadir}/%{_gamesdir}
+
+# Menu directories
+%_menudir %{_prefix}/lib/menu
+%_iconsdir %{_datadir}/icons
+%_miconsdir %{_datadir}/icons/mini
+%_liconsdir %{_datadir}/icons/large
+
+%_xfontdir %_datadir/fonts
+
+%_webconfdir %{_sysconfdir}/httpd/conf
+%_webappconfdir %_webconfdir/webapps.d
+# compatibility
+%webappconfdir %_webappconfdir
+
+#==============================================================================
+# ---- Build configuration macros.
+#
+# Package version macro.
+# The type of package to produce, for compatibility with legacy
+# versions of rpm.
+#
+# Script gets packaged file list on input.
+# Returns list of multiarch files that are not marked as such,
+# i.e. files in $RPM_BUILD_ROOT that have arch-dependent values
+#
+# Note: Disable (by commenting out) for legacy compatibility.
+#%__check_multiarch_files @USRLIBRPM@/check-multiarch-files %{buildroot}
+
+# Use internal dependency generator rather than external helpers?
+%_use_internal_dependency_generator 0
+
+%__find_provides @USRLIBRPM@/@RPMCANONVENDOR@/filter.sh '%{?_provides_exceptions:%{_provides_exceptions}}%{!?_provides_exceptions: }' '%{?_exclude_files_from_autoprov:%{_exclude_files_from_autoprov}}%{!?_exclude_files_from_autoprov: }' '%{buildroot}' @USRLIBRPM@/@RPMCANONVENDOR@/find-provides
+%__find_requires @USRLIBRPM@/@RPMCANONVENDOR@/filter.sh '%{?_requires_exceptions:%{_requires_exceptions}}%{!?_requires_exceptions: }' '%{?_exclude_files_from_autoreq:%{_exclude_files_from_autoreq}}%{!?_exclude_files_from_autoreq: }' '%{buildroot}' @USRLIBRPM@/@RPMCANONVENDOR@/find-requires %{?buildroot:%{buildroot}} %{?_target_cpu:%{_target_cpu}}
+
+# Update Menu
+%_update_menus_bin %{_bindir}/update-menus
+
+# Update Window Managers session.
+%_fndsession_bin %{_sbindir}/fndSession
+%make_session %{nil}
+%make_dm_session if [ -x %{_fndsession_bin} ]; then %{_fndsession_bin} || true ; fi \
+%{nil}
+
+# For rebuilding gcj-db
+%_rebuildgcjdb_bin %{_bindir}/rebuild-gcj-db
+%update_gcjdb if [ -x %{_rebuildgcjdb_bin} ]; then %{_rebuildgcjdb_bin} || true ; fi \
+%{nil}
+
+%clean_gcjdb if [ -x %{_rebuildgcjdb_bin} ]; then %{_rebuildgcjdb_bin} || true ; fi \
+%{nil}
+
+# Rebuild icon cache
+%update_icon_cache() if [ -x %{_update_icon_cache_bin} ]; then \
+%{_update_icon_cache_bin} --force --quiet %{_iconsdir}/%{1} || true; fi \
+%{nil}
+
+%clean_icon_cache() if [ -x %{_update_icon_cache_bin} -a -r %{_iconsdir}/%{1}/index.theme ]; then \
+%{_update_icon_cache_bin} --force --quiet %{_iconsdir}/%{1} || true ; fi \
+%{nil}
+
+# GConf schemas:
+# installation is handled by filetriggers
+%post_install_gconf_schemas() %{nil}
+# but uninstall still need to be done in %preun:
+%preun_uninstall_gconf_schemas() if [ "$1" = "0" -a -x %{_gconftool_bin} ]; then \
+SCHEMAS="" \
+for SCHEMA in %{*} ; do \
+ SCHEMAS="$SCHEMAS %{_sysconfdir}/gconf/schemas/$SCHEMA.schemas" \
+done \
+GCONF_CONFIG_SOURCE=`%{_gconftool_bin} --get-default-source` %{_gconftool_bin} --makefile-uninstall-rule $SCHEMAS > /dev/null || true ; fi \
+%{nil}
+
+# Mandriva Linux version
+# - "9.1" => 910
+# - "10.2.2" => 1022
+# (user may copy the following line in specfile)
+%mdkversion %(perl -pe '/(\\d+)\\.(\\d)\\.?(\\d)?/; $_="$1$2".($3||0)' /etc/mandriva-release)
+
+#==============================================================================
+# ---- Build policy macros.
+#
+#---------------------------------------------------------------------
+# Expanded at end of %install scriptlet.
+#
+
+%__os_install_post \
+ %{?__spec_helper_post}%{?!__spec_helper_post:/usr/share/spec-helper/spec-helper} \
+%{nil}
+
+#==============================================================================
+# ---- specfile macros.
+# Macro(s) here can be used reliably for reproducible builds.
+# (Note: Above is the goal, below are the macros under development)
+#
+
+%__fix_libtool_ltmain_from_overlinking @USRLIBRPM@/@RPMCANONVENDOR@/fix-libtool-ltmain-from-overlinking
+%__fix_libtool_from_moving_options_after_libs @USRLIBRPM@/@RPMCANONVENDOR@/fix-libtool-from-moving-options-after-libs
+%__fix_dlsearch_path_in_libtool_for_multilib @USRLIBRPM@/@RPMCANONVENDOR@/fix-dlsearch-path-in-libtool-for-multilib
+
+%__cputoolize cputoolize
+
+%__libtoolize_configure %{?__libtoolize:(cd $CONFIGURE_TOP; [ ! -f configure.in -a ! -f configure.ac ] || %{__libtoolize} --copy --force)}
+
+%ldflags %{?!_disable_ld_as_needed: -Wl,--as-needed}%{?!_disable_ld_no_undefined: -Wl,--no-undefined}%{?!_disable_ld_relro: -Wl,-z,relro}%{?!_disable_ld_O1: -Wl,-O1}%{?!_disable_ld_build_id: -Wl,--build-id}%{?!_disable_ld_enable_new_dtags: -Wl,--enable-new-dtags}%{?_hardened_flags: %_hardened_flags}
+
+%setup_compile_flags \
+ CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ; \
+ CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS ; \
+ FFLAGS="${FFLAGS:-%optflags}" ; export FFLAGS ; \
+ %(if [ -n '%ldflags' ]; then echo 'LDFLAGS="$LDFLAGS%ldflags"; export LDFLAGS ;'; fi)
+
+%before_configure \
+ %setup_compile_flags \
+ CONFIGURE_TOP="${CONFIGURE_TOP:-.}"; \
+ %{?!_disable_ld_as_needed:@USRLIBRPM@/@RPMCANONVENDOR@/force-as-needed-for-shared-lib-in-libtool ;} \
+ %{?!_disable_ld_no_undefined:@USRLIBRPM@/@RPMCANONVENDOR@/drop-ld-no-undefined-for-shared-lib-modules-in-libtool ;} \
+ %{__fix_libtool_ltmain_from_overlinking} ; \
+ %{__fix_libtool_from_moving_options_after_libs} $CONFIGURE_TOP ; \
+ %{__fix_dlsearch_path_in_libtool_for_multilib} $CONFIGURE_TOP %{_lib}
+
+# This is an improved version of %configure (from PLD team).
+%configure \
+ %before_configure ; \
+ %{?!_disable_libtoolize:%{?__libtoolize_configure:%{__libtoolize_configure};}} \
+ [ -f $CONFIGURE_TOP/configure.in -o -f $CONFIGURE_TOP/configure.ac ] && \
+ CONFIGURE_XPATH="--x-includes=%{_prefix}/include --x-libraries=%{_prefix}/%{_lib}" \
+ $CONFIGURE_TOP/configure %{_target_platform} \\\
+ --program-prefix=%{?_program_prefix} \\\
+ --prefix=%{_prefix} \\\
+ --exec-prefix=%{_exec_prefix} \\\
+ --bindir=%{_bindir} \\\
+ --sbindir=%{_sbindir} \\\
+ --sysconfdir=%{_sysconfdir} \\\
+ --datadir=%{_datadir} \\\
+ --includedir=%{_includedir} \\\
+ --libdir=%{_libdir} \\\
+ --libexecdir=%{_libexecdir} \\\
+ --localstatedir=%{_localstatedir} \\\
+ --sharedstatedir=%{_sharedstatedir} \\\
+ --mandir=%{_mandir} \\\
+ --infodir=%{_infodir} \\\
+ $CONFIGURE_XPATH
+
+%configure2_5x \
+ %before_configure ; \
+ %{?_enable_libtoolize:%{?__libtoolize_configure:%{__libtoolize_configure};}} \
+ [ -f $CONFIGURE_TOP/configure.in -o -f $CONFIGURE_TOP/configure.ac ] && \
+ CONFIGURE_XPATH="--x-includes=%{_prefix}/include --x-libraries=%{_prefix}/%{_lib}" \
+ $CONFIGURE_TOP/configure --build=%{_target_platform} \\\
+ --prefix=%{_prefix} \\\
+ --exec-prefix=%{_exec_prefix} \\\
+ --bindir=%{_bindir} \\\
+ --sbindir=%{_sbindir} \\\
+ --sysconfdir=%{_sysconfdir} \\\
+ --datadir=%{_datadir} \\\
+ --includedir=%{_includedir} \\\
+ --libdir=%{_libdir} \\\
+ --libexecdir=%{_libexecdir} \\\
+ --localstatedir=%{_localstatedir} \\\
+ --sharedstatedir=%{_sharedstatedir} \\\
+ --mandir=%{_mandir} \\\
+ --infodir=%{_infodir} \\\
+ $CONFIGURE_XPATH
+
+
+%old_makeinstall \
+ make \\\
+ prefix=%{?buildroot:%{buildroot}}%{_prefix} \\\
+ exec_prefix=%{?buildroot:%{buildroot}}%{_exec_prefix} \\\
+ bindir=%{?buildroot:%{buildroot}}%{_bindir} \\\
+ sbindir=%{?buildroot:%{buildroot}}%{_sbindir} \\\
+ sysconfdir=%{?buildroot:%{buildroot}}%{_sysconfdir} \\\
+ datadir=%{?buildroot:%{buildroot}}%{_datadir} \\\
+ includedir=%{?buildroot:%{buildroot}}%{_includedir} \\\
+ libdir=%{?buildroot:%{buildroot}}%{_libdir} \\\
+ libexecdir=%{?buildroot:%{buildroot}}%{_libexecdir} \\\
+ localstatedir=%{?buildroot:%{buildroot}}%{_localstatedir} \\\
+ sharedstatedir=%{?buildroot:%{buildroot}}%{_sharedstatedir} \\\
+ mandir=%{?buildroot:%{buildroot}}%{_mandir} \\\
+ infodir=%{?buildroot:%{buildroot}}%{_infodir} \\\
+ install
+
+
+%perl_convert_version() %(perl -Mversion -le '
+ $x = "%{1}";
+ $y = $x;
+ $x =~ s/[[:alpha:]]*$//;
+ $y =~ s/^$x//;
+ $x =~ s/\D*$//;
+ $v = version->new($x)->normal;
+ $v =~ s/^v//;
+ print "$v$y";
+')
+
+# kept for compatibility, but should not be used, especially the ugly perl_archlib!
+%perl_sitearch %(eval "`perl -V:installsitearch`"; echo $installsitearch)
+%perl_archlib %(eval "`perl -V:installarchlib`"; echo $installarchlib)
+
+#--------------------------------------------------------------------------------
+# Macro from conectiva
+
+# Shorthand for %{defined with_...}
+# macros provided by rpm 4.4, but buggy :(
+%_with() %{expand: %%{?_with_%1:1} %%{!?_with_%1: %%{?_without_%1:0} %%{!?_without_%1: %%{?with_%1:%%{with_%1}} %%{!?with_%1: %%{?without_%1:!%%{without_%1}} %%{!?without_%1: %%{?2:%%2} %%{!?2:1} } } } } }
+%_without() !%{expand: %%{with %1 %{?2:%2}}}
+
+%_package_i18n(g:f:) \
+%%package -n %{?1:%{1}}%{?!1:%{name}}-i18n\
+Summary: Internationalization and locale data for %{?1:%{1}}%{?!1:%{name}}\
+License: %{license}\
+Group: %{?-g:%{-g*}}%{?!-g:%{group}}\
+\
+%%description -n %{?1:%{1}}%{?!1:%{name}}-i18n\
+Internationalization and locale data for %{?1:%{1}}%{?!1:%{name}}\
+\
+%%files -n %{?1:%{1}}%{?!1:%{name}}-i18n %{?-f:%{-f}}%{?!-f:-f %{?1:%{1}}%{?!1:%{name}}.lang}\
+%{nil}
+
+
+#------------------------------------------------------------------------------
+# Ocaml macro
+#
+
+%ocaml_sitelib %(if [ -x /usr/bin/ocamlc ]; then ocamlc -where;fi)/site-lib
+
+#------------------------------------------------------------------------------
+# Redefine RPM sections to allow jumping over them using "--without <section>".
+# This an interesting alternative to --short-circuit.
+# The following are mostly equivalent:
+# % rpmbuild -bi --short-circuit foo.spec && rpmbuild -bb --short-circuit foo.spec
+# % rpmbuild -bb --without build foo.spec
+
+%prep %%prep \
+[ %{_with prep} -eq 1 ] || exit 0 \
+[ %{_with build} -eq 1 ] || exit 0 \
+[ %{_with install} -eq 1 ] || exit 0 \
+%{nil}
+
+%build %%build \
+[ %{_with install} -eq 1 ] || exit 0 \
+[ %{_with build} -eq 1 ] || exit 0 \
+%{nil}
+
+%install %{?_enable_debug_packages:%{?buildsubdir:%{debug_package_and_restore}}}\
+%%install\
+[ %{_with install} -eq 1 ] || exit 0 \
+%{nil}
+
+%check %%check \
+[ %{_with check} -eq 1 ] || exit 0 \
+%{nil}
+
%{load:/etc/rpm/macros.d/*.macros}

View file

@ -1,11 +0,0 @@
--- rpm-5.4.4/macros/mandriva.in.dwarf4~ 2011-11-29 04:41:23.525745975 +0100
+++ rpm-5.4.4/macros/mandriva.in 2011-11-29 04:41:25.922750183 +0100
@@ -141,7 +141,7 @@ end\
# - %{mklibname test 1 -d 0 -s} => libtest1_0-static-devel
%mklibname(ds) %{_lib}%{1}%{?2:%{2}}%{?3:_%{3}}%{-s:-static}%{-d:-devel}
-%debugcflags %{?_enable_debug_packages:-g -frecord-gcc-switches -Wstrict-aliasing=2}
+%debugcflags %{?_enable_debug_packages:-gdwarf-4 -fvar-tracking-assignments -frecord-gcc-switches -Wstrict-aliasing=2}
# common compilation flags

View file

@ -1,10 +0,0 @@
--- rpm-5.4.4/macros/mandriva.in.payload~ 2011-11-24 15:37:02.168124916 +0100
+++ rpm-5.4.4/macros/mandriva.in 2011-11-24 15:37:47.394168890 +0100
@@ -192,4 +192,7 @@ export CFLAGS="%optflags -fPIE"; export
# activate filetriggers (cf http://wiki.mandriva.com/en/Rpm_filetriggers)
%_filetriggers_dir /var/lib/rpm/filetriggers
+# use XZ to compress binary packages:
+%_binary_payload w5.xzdio
+
%{load:/etc/rpm/macros.d/*.macros}

View file

@ -1,16 +0,0 @@
--- rpm-5.4.5/macros/mandriva.in.int_dep_gen~ 2012-02-23 20:45:46.092715592 +0100
+++ rpm-5.4.5/macros/mandriva.in 2012-02-24 09:03:35.928435141 +0100
@@ -279,7 +279,12 @@ Group: %{group}\
#%__check_multiarch_files @USRLIBRPM@/check-multiarch-files %{buildroot}
# Use internal dependency generator rather than external helpers?
-%_use_internal_dependency_generator 0
+%_use_internal_dependency_generator 1
+# TODO: merge relevant changes into rpm version rather than using our own
+%__perl_provides @USRLIBRPM@/@RPMCANONVENDOR@/perl.prov
+%__perl_requires @USRLIBRPM@/@RPMCANONVENDOR@/perl.req
+%__php_provides @USRLIBRPM@/@RPMCANONVENDOR@/php.prov
+%__php_requires @USRLIBRPM@/@RPMCANONVENDOR@/php.req
%__find_provides @USRLIBRPM@/@RPMCANONVENDOR@/filter.sh '%{?_provides_exceptions:%{_provides_exceptions}}%{!?_provides_exceptions: }' '%{?_exclude_files_from_autoprov:%{_exclude_files_from_autoprov}}%{!?_exclude_files_from_autoprov: }' '%{buildroot}' @USRLIBRPM@/@RPMCANONVENDOR@/find-provides
%__find_requires @USRLIBRPM@/@RPMCANONVENDOR@/filter.sh '%{?_requires_exceptions:%{_requires_exceptions}}%{!?_requires_exceptions: }' '%{?_exclude_files_from_autoreq:%{_exclude_files_from_autoreq}}%{!?_exclude_files_from_autoreq: }' '%{buildroot}' @USRLIBRPM@/@RPMCANONVENDOR@/find-requires %{?buildroot:%{buildroot}} %{?_target_cpu:%{_target_cpu}}

View file

@ -1,16 +0,0 @@
--- rpm-5.4.5/scripts/pythoneggs.py.pyegg_nodirs~ 2012-03-06 17:40:11.395770585 +0100
+++ rpm-5.4.5/scripts/pythoneggs.py 2012-03-06 17:40:19.163778313 +0100
@@ -73,6 +73,13 @@ for f in files:
spec = ('==',f.split(lib)[1].split(sep)[0])
if not spec in py_deps[name]:
py_deps[name].append(spec)
+ # XXX: hack to workaround RPM internal dependency generator not passing directories
+ dlower = dirname(lower)
+ if dlower.endswith('.egg') or \
+ dlower.endswith('.egg-info') or \
+ dlower.endswith('.egg-link'):
+ lower = dlower
+ f = dirname(f)
# Determine provide, requires, conflicts & suggests based on egg metadata
if lower.endswith('.egg') or \
lower.endswith('.egg-info') or \

View file

@ -1,11 +0,0 @@
--- rpm-5.4.5/lib/rpmfc.c.rpmfc_ruby~ 2012-02-29 17:37:47.950434481 +0100
+++ rpm-5.4.5/lib/rpmfc.c 2012-02-29 17:37:49.766435385 +0100
@@ -1068,7 +1068,7 @@ typedef struct rpmfcApplyTbl_s {
/*@unchecked@*/
static struct rpmfcApplyTbl_s rpmfcApplyTable[] = {
{ rpmfcELF, RPMFC_ELF },
- { rpmfcSCRIPT, (RPMFC_SCRIPT|RPMFC_PERL|RPMFC_PYTHON|RPMFC_LIBTOOL|RPMFC_PKGCONFIG|RPMFC_BOURNE|RPMFC_JAVA|RPMFC_PHP|RPMFC_MONO) },
+ { rpmfcSCRIPT, (RPMFC_SCRIPT|RPMFC_RUBY|RPMFC_PERL|RPMFC_PYTHON|RPMFC_LIBTOOL|RPMFC_PKGCONFIG|RPMFC_BOURNE|RPMFC_JAVA|RPMFC_PHP|RPMFC_MONO) },
#if defined(RPM_VENDOR_MANDRIVA)
{ rpmfcSYMLINK, RPMFC_SYMLINK },
#endif

View file

@ -1,38 +0,0 @@
--- rpm-5.4.7/build/files.c.dev_unfuck~ 2012-04-12 22:27:45.086028618 +0200
+++ rpm-5.4.7/build/files.c 2012-04-12 22:28:34.149103420 +0200
@@ -1491,10 +1491,7 @@ memset(buf, 0, sizeof(buf)); /* XXX valg
xx = headerPut(h, he, 0);
he->append = 0;
- /* XXX Hash instead of 64b->16b truncate to prevent aliasing. */
- { dev_t _dev = flp->fl_rdev;
- ui16 = (uint16_t)hashFunctionString(0, &_dev, sizeof(_dev));
- }
+ ui16 = (rpmuint16_t) flp->fl_rdev;
he->tag = RPMTAG_FILERDEVS;
he->t = RPM_UINT16_TYPE;
he->p.ui16p = &ui16;
@@ -1503,10 +1500,7 @@ memset(buf, 0, sizeof(buf)); /* XXX valg
xx = headerPut(h, he, 0);
he->append = 0;
- /* XXX Hash instead of 64b->32b truncate to prevent aliasing. */
- { dev_t _dev = flp->fl_dev;
- ui32 = hashFunctionString(0, &_dev, sizeof(_dev));
- }
+ ui32 = (rpmuint32_t) flp->fl_dev;
he->tag = RPMTAG_FILEDEVICES;
he->t = RPM_UINT32_TYPE;
he->p.ui32p = &ui32;
@@ -1515,10 +1509,7 @@ memset(buf, 0, sizeof(buf)); /* XXX valg
xx = headerPut(h, he, 0);
he->append = 0;
- /* XXX Hash instead of 64b->32b truncate to prevent aliasing. */
- { ino_t _ino = flp->fl_ino;
- ui32 = hashFunctionString(0, &_ino, sizeof(_ino));
- }
+ ui32 = (rpmuint32_t) flp->fl_ino;
he->tag = RPMTAG_FILEINODES;
he->t = RPM_UINT32_TYPE;
he->p.ui32p = &ui32;

View file

@ -1,68 +0,0 @@
--- rpm-5.4.7/lib/rpmfc.c~ 2012-04-20 17:38:45.130590735 +0000
+++ rpm-5.4.7/lib/rpmfc.c 2012-04-21 00:19:25.598288547 +0000
@@ -632,6 +641,7 @@
{ "Perl5 module source text", RPMFC_PERL|RPMFC_MODULE|RPMFC_INCLUDE },
{ "PHP script text", RPMFC_PHP|RPMFC_INCLUDE },
+ { "G-IR binary database", RPMFC_TYPELIB|RPMFC_INCLUDE },
/* XXX "a /usr/bin/python -t script text executable" */
/* XXX "python 2.3 byte-compiled" */
@@ -964,6 +976,13 @@
if (is_executable || (fc->fcolor->vals[fc->ix] & RPMFC_MODULE))
xx = rpmfcHelper(fc, 'R', "ruby");
} else
+ if (fc->fcolor->vals[fc->ix] & RPMFC_TYPELIB) {
+ xx = rpmfcHelper(fc, 'P', "typelib");
+#ifdef NOTYET
+ if (is_executable)
+#endif
+ xx = rpmfcHelper(fc, 'R', "typelib");
+ } else
if (fc->fcolor->vals[fc->ix] & RPMFC_FONT) {
xx = rpmfcHelper(fc, 'P', "font");
/* XXX: currently of no use, but for the sake of consistency... */
@@ -1126,7 +1145,7 @@
/*@unchecked@*/
static struct rpmfcApplyTbl_s rpmfcApplyTable[] = {
{ rpmfcELF, RPMFC_ELF },
- { rpmfcSCRIPT, (RPMFC_SCRIPT|RPMFC_FONT|RPMFC_HASKELL|RPMFC_RUBY|RPMFC_PERL|RPMFC_PYTHON|RPMFC_LIBTOOL|RPMFC_PKGCONFIG|RPMFC_BOURNE|RPMFC_JAVA|RPMFC_PHP|RPMFC_MONO) },
+ { rpmfcSCRIPT, (RPMFC_SCRIPT|RPMFC_FONT|RPMFC_HASKELL|RPMFC_RUBY|RPMFC_PERL|RPMFC_PYTHON|RPMFC_LIBTOOL|RPMFC_PKGCONFIG|RPMFC_BOURNE|RPMFC_JAVA|RPMFC_PHP|RPMFC_MONO|RPMFC_TYPELIB) },
#if defined(RPM_VENDOR_MANDRIVA)
{ rpmfcSYMLINK, RPMFC_SYMLINK },
#endif
@@ -1438,6 +1457,10 @@
else if (_suffix(s, ".php"))
ftype = "PHP script text";
+ /* XXX files with extension ".typelib" are GNOME typelib for now. */
+ else if (_suffix(s, ".typelib"))
+ ftype = "G-IR binary database";
+
/* XXX skip all files in /dev/ which are (or should be) %dev dummies. */
else if (slen >= fc->brlen+sizeof("/dev/") && !strncmp(s+fc->brlen, "/dev/", sizeof("/dev/")-1))
ftype = "";
--- rpm-5.4.7/lib/rpmfc.h~ 2012-04-20 17:38:45.111590735 +0000
+++ rpm-5.4.7/lib/rpmfc.h 2012-04-20 17:38:45.185590733 +0000
@@ -24,7 +24,8 @@
#define RPMFC_ELF (RPMFC_ELF32|RPMFC_ELF64|RPMFC_ELFMIPSN32)
/* (1 << 3) leaks into package headers, reserved */
- /* bits 4-5 unused */
+ /* bit 4 unused */
+ RPMFC_TYPELIB = (1 << 5),
RPMFC_HASKELL = (1 << 6),
RPMFC_RUBY = (1 << 7),
RPMFC_PKGCONFIG = (1 << 8),
--- rpm-5.4.7/macros/macros.in~ 2012-04-20 17:38:45.135590735 +0000
+++ rpm-5.4.7/macros/macros.in 2012-04-21 16:33:37.907553804 +0000
@@ -1020,5 +1020,9 @@
# tcl(...) configuration.
%{load:%{_usrlibrpm}/macros.d/tcl}
+#------------------------------------------------------------------------
+# typelib(...) configuration.
+%{load:%{_usrlibrpm}/macros.d/typelib}
+
# \endverbatim
#*/

View file

@ -0,0 +1,36 @@
From 727484174300654bc4b3881f3db2889a05f3895c Mon Sep 17 00:00:00 2001
From: Franck Bui <franck.bui@mandriva.com>
Date: Thu, 26 Apr 2012 13:21:45 +0000
Subject: [PATCH 1/1] Add armv7l target
Signed-off-by: Franck Bui <franck.bui@mandriva.com>
---
cpu-os-macros/armv7l-linux/macros | 82 +++++++++++++++++++++++++++++++++++++
2 files changed, 83 insertions(+), 1 deletions(-)
create mode 100644 cpu-os-macros/armv7l-linux/macros
diff --git a/cpu-os-macros/armv7l-linux/macros b/cpu-os-macros/armv7l-linux/macros
new file mode 100644
index 0000000..f12a8a2
--- /dev/null
+++ b/cpu-os-macros/armv7l-linux/macros
@@ -0,0 +1,19 @@
+# Per-platform rpm configuration file.
+
+#==============================================================================
+# ---- per-platform macros.
+#
+%_arch arm
+%_os linux
+%_gnu -gnueabi
+%optflags -O2 -g -fpic -fPIC -fno-strict-volatile-bitfields
+
+#==============================================================================
+# ---- configure macros.
+#
+%_lib lib
+
+#---------------------------------------------------------------------
+# Multilibs
+%_multilibno 1
+%_multilibpatt (/%{_lib}|/usr/%{_lib}(|/gconv)|/usr/local/%{_lib}|/usr/X11R6/%{_lib}|/opt/%{_lib})/[^/]*\\.([oa]|la|so[0-9.]*)$

View file

@ -1,24 +0,0 @@
--- rpm-5.4.8/build/pack.c.depoch_rpmlib~ 2012-04-25 17:51:47.399682342 +0200
+++ rpm-5.4.8/build/pack.c 2012-04-25 17:51:47.556683205 +0200
@@ -498,6 +498,7 @@ void providePackageNVR(Header h)
if (gotD) {
p = stpcpy( stpcpy( p, ":"), D);
D = _free(D);
+ //(void) rpmlibNeedsFeature(h, "DistEpoch", "5.4.7-1");
}
#endif
V = _free(V);
--- rpm-5.4.8/lib/rpmds.c.depoch_rpmlib~ 2012-04-25 17:51:47.000000000 +0200
+++ rpm-5.4.8/lib/rpmds.c 2012-04-25 17:53:07.768124239 +0200
@@ -1554,6 +1554,11 @@ static struct rpmlibProvides_s rpmlibPro
(RPMSENSE_RPMLIB|RPMSENSE_EQUAL),
N_("package payload can be compressed using xz.") },
#endif
+#if defined(RPM_VENDOR_MANDRIVA)
+ { "rpmlib(DistEpoch)", "5.4.7-1",
+ (RPMSENSE_RPMLIB|RPMSENSE_EQUAL),
+ N_("package has distepoch.") },
+#endif
/* XXX FIXME: Alt should _NOT_ have added a tracking dependency. */
{ "rpmlib(SetVersions)", "4.0.4-alt98",
(RPMSENSE_RPMLIB|RPMSENSE_EQUAL),

View file

@ -1,5 +1,5 @@
--- rpm-5.4.4/build/pack.c.pkgcheck~ 2010-10-18 09:00:50.000000000 +0200
+++ rpm-5.4.4/build/pack.c 2011-12-22 21:06:55.481563113 +0100
--- rpm-5.4.9/build/pack.c.pkgcheck~ 2012-04-15 17:04:14.000000000 +0200
+++ rpm-5.4.9/build/pack.c 2012-05-15 02:21:17.851100279 +0200
@@ -1127,6 +1127,25 @@ static rpmTag copyTags[] = {
0
};
@ -25,7 +25,7 @@
+
rpmRC packageBinaries(Spec spec)
{
HE_t he = memset(alloca(sizeof(*he)), 0, sizeof(*he));
HE_t he = (HE_t) memset(alloca(sizeof(*he)), 0, sizeof(*he));
@@ -1136,6 +1155,7 @@ rpmRC packageBinaries(Spec spec)
Package pkg;
rpmRC rc = RPMRC_OK; /* assume success */
@ -111,8 +111,8 @@
}
rc = (rc ? RPMRC_FAIL : RPMRC_OK);
--- rpm-5.4.4/macros/macros.rpmbuild.in.pkgcheck~ 2011-12-22 21:06:55.422563184 +0100
+++ rpm-5.4.4/macros/macros.rpmbuild.in 2011-12-22 21:06:55.484563110 +0100
--- rpm-5.4.9/macros/macros.rpmbuild.in.pkgcheck~ 2012-05-15 02:19:32.732564561 +0200
+++ rpm-5.4.9/macros/macros.rpmbuild.in 2012-05-15 02:19:32.795564880 +0200
@@ -193,6 +193,30 @@ echo "Patch #%{__patch_number} (%{basena
%_missing_doc_files_terminate_build 1
@ -144,9 +144,9 @@
# Should an ELF file processed by find-debuginfo.sh having no build ID
# terminate a build? This is left undefined to disable it and defined to
# enable.
--- rpm-5.4.4/macros/mandriva.in.pkgcheck~ 2011-12-22 21:06:55.467563130 +0100
+++ rpm-5.4.4/macros/mandriva.in 2011-12-22 21:07:48.621500050 +0100
@@ -124,6 +124,10 @@ end\
--- rpm-5.4.9/macros/mandriva.in.pkgcheck~ 2012-05-15 02:19:32.771564758 +0200
+++ rpm-5.4.9/macros/mandriva.in 2012-05-15 02:19:32.795564880 +0200
@@ -127,6 +127,10 @@ end\
%_duplicate_files_terminate_build 1
%_unpackaged_subdirs_terminate_build 0

View file

@ -0,0 +1,14 @@
--- rpm-5.4.9/lib/rpmds.c.depoch_rpmlib~ 2012-05-15 02:59:01.000000000 +0200
+++ rpm-5.4.9/lib/rpmds.c 2012-05-15 03:00:11.147448068 +0200
@@ -1565,6 +1565,11 @@ static struct rpmlibProvides_s rpmlibPro
{ "rpmlib(SetVersions)", "4.0.4-alt98",
(evrFlags)(RPMSENSE_RPMLIB|RPMSENSE_EQUAL),
N_("dependencies support set/subset versions.") },
+#if defined(RPM_VENDOR_MANDRIVA)
+ { "rpmlib(DistEpoch)", "5.4.7-1",
+ (RPMSENSE_RPMLIB|RPMSENSE_EQUAL),
+ N_("package has distepoch.") },
+#endif
{ NULL, NULL, (evrFlags)0, NULL }
};

View file

@ -1,5 +1,5 @@
--- rpm-5.4.7/build/parseReqs.c.trig_pcre~ 2009-06-13 11:07:44.000000000 +0200
+++ rpm-5.4.7/build/parseReqs.c 2012-03-21 19:13:57.755057614 +0100
--- rpm-5.4.9/build/parseReqs.c.trig_pcre~ 2009-06-13 11:07:44.000000000 +0200
+++ rpm-5.4.9/build/parseReqs.c 2012-05-15 03:05:07.438054281 +0200
@@ -110,7 +110,7 @@ rpmRC parseRCPOT(Spec spec, Package pkg,
ix = 0;
if (N[ix] == '!')
@ -9,11 +9,11 @@
|| (nr > 5 && N[ix] == '%' && N[ix+1] == '{' && N[nr-1] == '}')))
{
rpmlog(RPMLOG_ERR,
--- rpm-5.4.7/lib/psm.c.trig_pcre~ 2012-03-20 23:17:27.936217835 +0100
+++ rpm-5.4.7/lib/psm.c 2012-03-22 00:24:31.848285898 +0100
@@ -70,6 +70,9 @@
#include <rpmlog.h>
#endif
--- rpm-5.4.9/lib/psm.c.trig_pcre~ 2012-05-15 03:05:07.085052367 +0200
+++ rpm-5.4.9/lib/psm.c 2012-05-15 03:07:11.367726113 +0200
@@ -67,6 +67,9 @@
#include "debug.h"
+#define PATT_ISDIR(patt, len) ((patt[0] == '/' && patt[len-1] == '/') || \
+ (patt[0] == '^' && patt[len-1] == '$' && patt[len-2] == '/'))
@ -21,7 +21,7 @@
#define _PSM_DEBUG 0
/*@unchecked@*/
int _psm_debug = _PSM_DEBUG;
@@ -1280,11 +1283,11 @@ static rpmRC handleOneTrigger(const rpmp
@@ -1285,11 +1288,11 @@ static rpmRC handleOneTrigger(const rpmp
bingo = 0; /* no trigger to fire. */
depName = (char *) rpmdsN(Tds);
@ -36,7 +36,7 @@
/* XXX Dirnames w trailing "/" needed. */
if (Dds == NULL)
Dds = rpmdsNew(sourceH, RPMTAG_DIRNAMES, 0x2);
@@ -1295,7 +1298,7 @@ static rpmRC handleOneTrigger(const rpmp
@@ -1300,7 +1303,7 @@ static rpmRC handleOneTrigger(const rpmp
ds = rpmdsLink(Fds, "Triggers");
}
if (mire == NULL)
@ -45,7 +45,7 @@
xx = mireRegcomp(mire, depName);
if ((ds = rpmdsInit(ds)) != NULL)
@@ -1313,7 +1316,7 @@ static rpmRC handleOneTrigger(const rpmp
@@ -1318,7 +1321,7 @@ static rpmRC handleOneTrigger(const rpmp
}
/* If not matched, and directory trigger, try dir names. */
@ -54,7 +54,7 @@
/* XXX Dirnames w trailing "/" needed. */
if (Dds == NULL)
Dds = rpmdsNew(sourceH, RPMTAG_DIRNAMES, 0x2);
@@ -1394,9 +1397,9 @@ static int rpmdbTriggerGlobs(rpmpsm psm)
@@ -1401,9 +1404,9 @@ static int rpmdbTriggerGlobs(rpmpsm psm)
if (keys)
for (i = 0; i < nkeys; i++) {
char * t = (char *) keys[i];
@ -63,10 +63,10 @@
continue;
- xx = mireAppend(RPMMIRE_GLOB, 0, t, NULL,
+ xx = mireAppend(t[0] == '^' ? RPMMIRE_PCRE : RPMMIRE_GLOB, 0, t, NULL,
(void *)&psm->Tmires, &psm->nTmires);
(miRE *)&psm->Tmires, &psm->nTmires);
xx = argvAdd(&psm->Tpats, t);
}
@@ -1454,7 +1457,7 @@ static rpmRC runTriggersLoop(rpmpsm psm,
@@ -1461,7 +1464,7 @@ static rpmRC runTriggersLoop(rpmpsm psm,
const char * pattern = psm->Tpats[j];
if (depName[nName-1] != '/') {
size_t npattern = strlen(pattern);
@ -75,7 +75,7 @@
}
if (mireRegexec(mire, depName, 0) < 0)
/*@innercontinue@*/ continue;
@@ -1623,14 +1626,14 @@ assert(fi->h != NULL);
@@ -1634,14 +1637,14 @@ assert(fi->h != NULL);
/* If not limited to NEVRA triggers, use file/dir index. */
if (tagno != RPMTAG_NAME) {
@ -95,7 +95,7 @@
else
xx = argvAdd(&keys, N);
}
@@ -1646,10 +1649,10 @@ assert(fi->h != NULL);
@@ -1657,10 +1660,10 @@ assert(fi->h != NULL);
/* If not limited to NEVRA triggers, use file/dir index. */
if (tagno != RPMTAG_NAME) {

View file

@ -1,6 +1,6 @@
--- rpm-5.4.7/lib/psm.c.trigger_args~ 2012-03-23 02:35:07.980648579 +0100
+++ rpm-5.4.7/lib/psm.c 2012-03-23 03:24:41.751361420 +0100
@@ -606,28 +606,37 @@ static int exitChroot(rpmpsm psm, int in
--- rpm-5.4.9/lib/psm.c.trigger_args~ 2012-05-15 03:08:19.198093824 +0200
+++ rpm-5.4.9/lib/psm.c 2012-05-15 03:14:25.545079818 +0200
@@ -610,28 +610,37 @@ static int exitChroot(rpmpsm psm, int in
* @return RPMRC_OK on success
*/
static rpmRC runEmbeddedScript(rpmpsm psm, const char * sln, HE_t Phe,
@ -24,23 +24,24 @@
if (ssp != NULL)
*ssp |= (RPMSCRIPT_STATE_EMBEDDED|RPMSCRIPT_STATE_EXEC);
- av[0] = (char *) Phe->p.argv[0];
+ av = alloca(len * sizeof(*av));
av[0] = (char *) Phe->p.argv[0];
if (arg1 >= 0)
(void) sprintf((av[1] = alloca(32)), "%d", arg1);
(void) sprintf((av[1] = (char *) alloca(32)), "%d", arg1);
+ else
+ av[1] = NULL;
if (arg2 >= 0)
(void) sprintf((av[2] = alloca(32)), "%d", arg2);
(void) sprintf((av[2] = (char *) alloca(32)), "%d", arg2);
+ else
+ av[2] = NULL;
+ if (matches)
+ memcpy(&av[3], argvData(matches), argvCount(matches) * sizeof(*argvData(matches)));
+ av[len-1] = NULL;
+
#if defined(WITH_LUA)
if (!strcmp(Phe->p.argv[0], "<lua>")) {
@@ -772,7 +781,7 @@ static const char * ldconfig_path = "/sb
@@ -776,7 +785,7 @@ static const char * ldconfig_path = "/sb
* @return RPMRC_OK on success
*/
static rpmRC runScript(rpmpsm psm, Header h, const char * sln, HE_t Phe,
@ -49,7 +50,7 @@
/*@globals ldconfig_done, rpmGlobalMacroContext, h_errno,
fileSystem, internalState@*/
/*@modifies psm, ldconfig_done, rpmGlobalMacroContext,
@@ -839,7 +848,7 @@ assert(he->p.str != NULL);
@@ -843,7 +852,7 @@ assert(he->p.str != NULL);
rpmlog(RPMLOG_DEBUG,
D_("%s: %s(%s) running %s scriptlet.\n"),
psm->stepName, tag2sln(psm->scriptTag), NVRA, Phe->p.argv[0]);
@ -58,22 +59,22 @@
#endif
goto exit;
}
@@ -866,12 +875,12 @@ assert(he->p.str != NULL);
@@ -870,12 +879,12 @@ assert(he->p.str != NULL);
(F_ISSET(psm, UNORDERED) ? "a" : ""));
if (Phe->p.argv == NULL) {
- argv = alloca(5 * sizeof(*argv));
- argv = (const char **) alloca(5 * sizeof(*argv));
+ argv = alloca(5 + (matches ? argvCount(matches) : 0 ) * sizeof(*argv));
argv[0] = "/bin/sh";
argc = 1;
ldconfig_done = 0;
} else {
- argv = alloca((Phe->c + 4) * sizeof(*argv));
- argv = (const char **) alloca((Phe->c + 4) * sizeof(*argv));
+ argv = alloca((Phe->c + 4) + (matches ? argvCount(matches) : 0 ) * sizeof(*argv));
memcpy(argv, Phe->p.argv, Phe->c * sizeof(*argv));
argc = Phe->c;
ldconfig_done = (ldconfig_path && !strcmp(argv[0], ldconfig_path)
@@ -955,6 +964,10 @@ assert(he->p.str != NULL);
@@ -959,6 +968,10 @@ assert(he->p.str != NULL);
sprintf(av, "%d", arg2);
argv[argc++] = av;
}
@ -84,7 +85,7 @@
}
argv[argc] = NULL;
@@ -1194,7 +1207,7 @@ assert(fi->h != NULL);
@@ -1199,7 +1212,7 @@ assert(fi->h != NULL);
Phe->p.argv[0] = argv0 = rpmExpand(Phe->p.argv[0], NULL);
rc = runScript(psm, fi->h, tag2sln(psm->scriptTag), Phe,
@ -93,7 +94,7 @@
exit:
argv0 = _free(argv0);
@@ -1275,6 +1288,7 @@ static rpmRC handleOneTrigger(const rpmp
@@ -1280,6 +1293,7 @@ static rpmRC handleOneTrigger(const rpmp
while ((i = rpmdsNext(Tds)) >= 0) {
rpmuint32_t Flags = rpmdsFlags(Tds);
char * depName;
@ -101,7 +102,7 @@
int bingo;
/* Skip triggers that are not in this context. */
@@ -1308,7 +1322,7 @@ static rpmRC handleOneTrigger(const rpmp
@@ -1313,7 +1327,7 @@ static rpmRC handleOneTrigger(const rpmp
if (xx < 0)
/*@innercontinue@*/ continue;
bingo = 1;
@ -110,7 +111,7 @@
}
(void)rpmdsFree(ds);
ds = NULL;
@@ -1342,7 +1356,6 @@ static rpmRC handleOneTrigger(const rpmp
@@ -1347,7 +1361,6 @@ static rpmRC handleOneTrigger(const rpmp
continue;
/* Coerce strings into header argv return. */
@ -118,12 +119,13 @@
{ int index = Ihe->p.ui32p[i];
const char * s = Phe->p.argv[index];
char * t;
@@ -1356,10 +1369,11 @@ static rpmRC handleOneTrigger(const rpmp
@@ -1362,11 +1375,12 @@ static rpmRC handleOneTrigger(const rpmp
*t = '\0';
rc |= runScript(psm, triggeredH, "%trigger", he,
- She->p.argv[index], arg1, arg2);
+ She->p.argv[index], arg1, arg2, matches);
if (runScript(psm, triggeredH, "%trigger", he,
- She->p.argv[index], arg1, arg2))
+ She->p.argv[index], arg1, arg2, matches))
rc = RPMRC_FAIL;
he->p.ptr = _free(he->p.ptr);
}

View file

@ -1,6 +1,6 @@
--- rpm-5.4.7/lib/rpmds.c.ds_merge~ 2012-03-28 20:34:20.854970110 +0200
+++ rpm-5.4.7/lib/rpmds.c 2012-03-28 20:39:37.743204630 +0200
@@ -965,21 +965,25 @@ static rpmds rpmdsDup(const rpmds ods)
--- rpm-5.4.9/lib/rpmds.c.ds_merge~ 2012-05-15 03:43:11.000000000 +0200
+++ rpm-5.4.9/lib/rpmds.c 2012-05-15 03:46:37.823554837 +0200
@@ -973,21 +973,24 @@ static rpmds rpmdsDup(const rpmds ods)
: rpmdsDupArgv(ods->N, ods->Count) );
/* XXX rpm prior to 3.0.2 did not always supply EVR and Flags. */
@ -9,14 +9,14 @@
+ ods->tagN != RPMTAG_FILEPATHS) {
assert(ods->EVR != NULL);
assert(ods->Flags != NULL);
-
- nb = (ds->Count+1) * sizeof(*ds->EVR);
- ds->EVR = (ds->h != NULL
- ds->EVR = (const char **) (ds->h != NULL
- ? memcpy(xmalloc(nb), ods->EVR, nb)
- : rpmdsDupArgv(ods->EVR, ods->Count) );
-
- nb = (ds->Count * sizeof(*ds->Flags));
- ds->Flags = (ds->h != NULL
- ds->Flags = (evrFlags *) (ds->h != NULL
- ? ods->Flags
- : memcpy(xmalloc(nb), ods->Flags, nb) );
- ds->nopromote = ods->nopromote;
@ -33,12 +33,12 @@
+ : memcpy(xmalloc(nb), ods->Flags, nb) );
+ ds->nopromote = ods->nopromote;
+ /*@-assignexpose@*/
+ ds->EVRcmp = ods->EVRcmp;;
+ ds->EVRcmp = ods->EVRcmp;
+ }
/*@=assignexpose@*/
/*@-compmempass@*/ /* FIX: ds->Flags is kept, not only */
@@ -1067,24 +1071,28 @@ save = ods->i;
@@ -1075,24 +1078,28 @@ save = ods->i;
/* XXX rpm prior to 3.0.2 did not always supply EVR and Flags. */
/*@-nullderef -nullpass -nullptrarith @*/
@ -55,7 +55,7 @@
- ds->EVR = _free(ds->EVR);
- ds->EVR = EVR;
-
- Flags = xmalloc((ds->Count+1) * sizeof(*Flags));
- Flags = (evrFlags *) xmalloc((ds->Count+1) * sizeof(*Flags));
- if (ds->u > 0)
- memcpy(Flags, ds->Flags, ds->u * sizeof(*Flags));
- if (ds->u < ds->Count)

View file

@ -1,6 +1,6 @@
--- rpm-5.4.5/lib/rpmfc.c.drop_deps~ 2011-04-12 09:59:26.000000000 +0200
+++ rpm-5.4.5/lib/rpmfc.c 2012-02-23 20:19:59.039944487 +0100
@@ -1658,6 +1658,64 @@ static int rpmfcGenerateScriptletDeps(co
--- rpm-5.4.9/lib/rpmfc.c.drop_deps~ 2012-05-07 22:41:45.000000000 +0200
+++ rpm-5.4.9/lib/rpmfc.c 2012-05-15 01:58:00.071056896 +0200
@@ -1696,6 +1696,65 @@ static int rpmfcGenerateScriptletDeps(co
return rc;
}
@ -62,10 +62,11 @@
+ }
+
+}
rpmRC rpmfcGenerateDepends(void * specp, void * pkgp)
+
rpmRC rpmfcGenerateDepends(void * _spec, void * _pkg)
{
HE_t he = memset(alloca(sizeof(*he)), 0, sizeof(*he));
@@ -1691,6 +1749,7 @@ rpmRC rpmfcGenerateDepends(void * specp,
HE_t he = (HE_t) memset(alloca(sizeof(*he)), 0, sizeof(*he));
@@ -1729,6 +1788,7 @@ rpmRC rpmfcGenerateDepends(void * _spec,
if (internaldeps == 0) {
/* ... then generate dependencies using %{__find_requires} et al. */
rc = rpmfcGenerateDependsHelper(spec, pkg, fi);
@ -73,7 +74,7 @@
printDeps(pkg->header);
return rc;
}
@@ -1908,6 +1967,8 @@ assert(ac == (int)he->c);
@@ -1946,6 +2006,8 @@ assert(ac == (int)he->c);
xx = headerPut(pkg->header, he, 0);
}

View file

@ -1,10 +1,10 @@
--- rpm-5.4.7/lib/psm.c.slash~ 2012-03-28 21:03:43.142269660 +0200
+++ rpm-5.4.7/lib/psm.c 2012-03-28 21:03:48.829273820 +0200
@@ -1456,11 +1456,15 @@ static rpmRC runTriggersLoop(rpmpsm psm,
--- rpm-5.4.9/lib/psm.c.slash~ 2012-05-15 03:47:32.000000000 +0200
+++ rpm-5.4.9/lib/psm.c 2012-05-15 03:49:04.075347677 +0200
@@ -1463,11 +1463,15 @@ static rpmRC runTriggersLoop(rpmpsm psm,
ARGint_t vals;
depName = _free(depName);
- depName = xmalloc(nName + 1 + 1);
- depName = (char *) xmalloc(nName + 1 + 1);
- (void) stpcpy(depName, Name);
- /* XXX re-add the pesky trailing '/' to dirnames. */
- depName[nName] = (tagno == RPMTAG_DIRNAMES ? '/' : '\0');

View file

@ -1,5 +1,5 @@
--- rpm-5.4.8/build/parseScript.c.dlopen~ 2010-09-13 00:19:56.000000000 +0200
+++ rpm-5.4.8/build/parseScript.c 2012-04-25 17:53:37.150285795 +0200
--- rpm-5.4.9/build/parseScript.c.dlopen~ 2012-04-15 17:04:14.000000000 +0200
+++ rpm-5.4.9/build/parseScript.c 2012-05-15 04:55:00.670796662 +0200
@@ -305,6 +305,12 @@ int parseScript(Spec spec, int parsePart
iob = rpmiobRTrim(iob);
p = rpmiobStr(iob);
@ -50,9 +50,9 @@
} else
#endif
if (progArgv[0][0] == '<') {
--- rpm-5.4.8/configure.ac.dlopen~ 2012-04-25 17:53:36.955284723 +0200
+++ rpm-5.4.8/configure.ac 2012-04-25 17:53:37.152285806 +0200
@@ -1716,44 +1716,95 @@ RPM_CHECK_LIB(
--- rpm-5.4.9/configure.ac.dlopen~ 2012-05-15 04:55:00.493795702 +0200
+++ rpm-5.4.9/configure.ac 2012-05-15 04:55:00.671796667 +0200
@@ -1719,44 +1719,95 @@ RPM_CHECK_LIB(
AC_SUBST(WITH_CUDF_CUDFTOOL)
dnl # Perl ExtUtils::Embed
@ -157,7 +157,7 @@
dnl # Tcl (should tcl8.4 be supported too?)
WITH_TCL_SUBDIR=""
@@ -1761,8 +1812,14 @@ RPM_CHECK_LIB(
@@ -1764,8 +1815,14 @@ RPM_CHECK_LIB(
[Tcl], [tcl],
[tcl8.6 tcl8.5 tcl], [Tcl_CreateInterp], [tcl.h],
[no,external:none], [],
@ -174,9 +174,9 @@
AC_SUBST(WITH_TCL_SUBDIR)
dnl # FICL
--- rpm-5.4.8/rpmio/Makefile.am.dlopen~ 2012-04-01 23:09:17.000000000 +0200
+++ rpm-5.4.8/rpmio/Makefile.am 2012-04-25 17:53:37.152285806 +0200
@@ -82,8 +82,8 @@ RPM_LDADD_COMMON = \
--- rpm-5.4.9/rpmio/Makefile.am.dlopen~ 2012-04-16 22:53:32.000000000 +0200
+++ rpm-5.4.9/rpmio/Makefile.am 2012-05-15 04:55:00.671796667 +0200
@@ -92,8 +92,8 @@ RPM_LDADD_COMMON = \
$(top_builddir)/rpmdb/librpmdb.la \
$(RPMIO_LDADD_COMMON)
@ -187,7 +187,7 @@
pkgincdir = $(pkgincludedir)$(WITH_PATH_VERSIONED_SUFFIX)
pkginc_HEADERS = argv.h mire.h rpmzlog.h yarn.h \
@@ -136,6 +136,52 @@ endif
@@ -210,6 +210,52 @@ endif
#librpmio.la: $(librpmio_la_OBJECTS) $(librpmio_la_DEPENDENCIES)
# $(librpmio_la_LINK) -rpath $(usrlibdir) $(librpmio_la_OBJECTS) $(librpmio_la_LIBADD)
@ -240,8 +240,8 @@
#libsqlio_la_SOURCES = libsqlio.c
#libsqlio_la_LIBADD = $(RPMIO_LDADD_COMMON)
--- rpm-5.4.8/rpmio/rpmperl.c.dlopen~ 2012-03-22 01:04:05.000000000 +0100
+++ rpm-5.4.8/rpmio/rpmperl.c 2012-04-25 17:54:56.401721552 +0200
--- rpm-5.4.9/rpmio/rpmperl.c.dlopen~ 2012-04-15 23:20:53.000000000 +0200
+++ rpm-5.4.9/rpmio/rpmperl.c 2012-05-15 04:55:00.672796672 +0200
@@ -7,9 +7,15 @@
#include "rpmperl.h"
#include <rpmmacro.h>
@ -274,7 +274,7 @@
static void rpmperlFini(void * _perl)
@@ -29,7 +41,7 @@ static void rpmperlFini(void * _perl)
{
rpmperl perl = _perl;
rpmperl perl = (rpmperl) _perl;
-#if defined(WITH_PERLEMBED)
+#if defined(MODULE_EMBED)
@ -333,7 +333,7 @@
+ rpmperl perl = (flags & 0x80000000)
+ ? rpmperlI() : rpmperlGetPool(_rpmperlPool);
+#if defined(MODULE_EMBED)
static char * _av[] = { "rpmperl", NULL };
static const char * _av[] = { "rpmperl", NULL };
static int initialized = 0;
ARGV_t argv = NULL;
@@ -143,6 +181,9 @@ rpmperl rpmperlNew(char ** av, uint32_t
@ -355,9 +355,9 @@
STRLEN n_a;
SV * retSV;
--- rpm-5.4.8/rpmio/rpmpython.c.dlopen~ 2012-03-22 00:43:47.000000000 +0100
+++ rpm-5.4.8/rpmio/rpmpython.c 2012-04-25 17:55:50.694020072 +0200
@@ -7,9 +7,15 @@
--- rpm-5.4.9/rpmio/rpmpython.c.dlopen~ 2012-04-16 22:53:33.000000000 +0200
+++ rpm-5.4.9/rpmio/rpmpython.c 2012-05-15 04:55:45.393039102 +0200
@@ -8,9 +8,15 @@
#define _RPMPYTHON_INTERNAL
#include "rpmpython.h"
@ -374,7 +374,7 @@
#endif
#include "debug.h"
@@ -20,13 +26,20 @@ int _rpmpython_debug = 0;
@@ -21,13 +27,20 @@ int _rpmpython_debug = 0;
/*@unchecked@*/ /*@relnull@*/
rpmpython _rpmpythonI = NULL;
@ -389,14 +389,14 @@
/*@globals fileSystem @*/
/*@modifies *_python, fileSystem @*/
{
rpmpython python = _python;
rpmpython python = (rpmpython) _python;
-#if defined(WITH_PYTHONEMBED)
+#if defined(MODULE_EMBED)
Py_Finalize();
#endif
python->I = NULL;
@@ -50,7 +63,7 @@ static rpmpython rpmpythonGetPool(/*@nul
@@ -51,7 +64,7 @@ static rpmpython rpmpythonGetPool(/*@nul
}
/*@unchecked@*/
@ -405,7 +405,7 @@
static const char * _rpmpythonI_init = "\
import sys\n\
from cStringIO import StringIO\n\
@@ -67,10 +80,40 @@ static rpmpython rpmpythonI(void)
@@ -68,10 +81,40 @@ static rpmpython rpmpythonI(void)
return _rpmpythonI;
}
@ -437,7 +437,7 @@
+
rpmpython rpmpythonNew(char ** av, uint32_t flags)
{
- static char * _av[] = { "rpmpython", NULL };
- static char * _av[] = { (char *) "rpmpython", NULL };
#if defined(WITH_PYTHONEMBED)
+ if (!dlopened) loadModule();
+ if (dlopened) return rpmpythonNew_p(av, flags);
@ -447,7 +447,7 @@
int initialize = (!(flags & 0x80000000) || _rpmpythonI == NULL);
#endif
rpmpython python = (flags & 0x80000000)
@@ -81,7 +124,7 @@ fprintf(stderr, "==> %s(%p, %d) python %
@@ -82,7 +125,7 @@ fprintf(stderr, "==> %s(%p, %d) python %
if (av == NULL) av = _av;
@ -456,7 +456,7 @@
if (!Py_IsInitialized()) {
Py_SetProgramName((char *)_av[0]);
Py_Initialize();
@@ -105,6 +148,9 @@ fprintf(stderr, "==========\n%s\n=======
@@ -107,6 +150,9 @@ fprintf(stderr, "==========\n%s\n=======
rpmRC rpmpythonRunFile(rpmpython python, const char * fn, const char ** resultp)
{
@ -466,7 +466,7 @@
rpmRC rc = RPMRC_FAIL;
@@ -114,7 +160,7 @@ fprintf(stderr, "==> %s(%p,%s)\n", __FUN
@@ -116,7 +162,7 @@ fprintf(stderr, "==> %s(%p,%s)\n", __FUN
if (python == NULL) python = rpmpythonI();
if (fn != NULL) {
@ -475,7 +475,7 @@
const char * pyfn = ((fn == NULL || !strcmp(fn, "-")) ? "<stdin>" : fn);
FILE * pyfp = (!strcmp(pyfn, "<stdin>") ? stdin : fopen(fn, "rb"));
int closeit = (pyfp != stdin);
@@ -155,6 +201,9 @@ static const char * rpmpythonSlurp(const
@@ -157,6 +203,9 @@ static const char * rpmpythonSlurp(const
rpmRC rpmpythonRun(rpmpython python, const char * str, const char ** resultp)
{
@ -485,84 +485,55 @@
rpmRC rc = RPMRC_FAIL;
if (_rpmpython_debug)
@@ -164,7 +213,7 @@ fprintf(stderr, "==> %s(%p,%s,%p)\n", __
@@ -166,7 +215,7 @@ fprintf(stderr, "==> %s(%p,%s,%p)\n", __
if (str != NULL) {
const char * val = rpmpythonSlurp(str);
-#if defined(WITH_PYTHONEMBED)
+#if defined(MODULE_EMBED)
PyCompilerFlags cf = { .cf_flags = 0 };
PyCompilerFlags cf = { 0 };
PyObject * m = PyImport_AddModule("__main__");
PyObject * d = (m ? PyModule_GetDict(m) : NULL);
--- rpm-5.4.8/rpmio/rpmruby.c.dlopen~ 2010-09-18 18:37:06.000000000 +0200
+++ rpm-5.4.8/rpmio/rpmruby.c 2012-04-25 17:53:37.154285818 +0200
@@ -5,8 +5,7 @@
#include "config.h"
#endif
--- rpm-5.4.9/rpmio/rpmruby.c.dlopen~ 2012-04-15 23:20:53.000000000 +0200
+++ rpm-5.4.9/rpmio/rpmruby.c 2012-05-15 04:55:00.673796677 +0200
@@ -1,17 +1,26 @@
#include "system.h"
#include <argv.h>
-
-#if defined(WITH_RUBYEMBED)
+#if defined(MODULE_EMBED)
/* Make sure Ruby's fun stuff has its own xmalloc & Co functions available */
@@ -14,10 +13,17 @@
#undef xmalloc
#undef xcalloc
#undef xrealloc
-#include <ruby.h>
+/* XXX avoid conflicting definitions in ruby.h */
+#define HAVE_SETPROCTITLE 1
+#include <ruby.h>
+
#include <ruby.h>
+#undef WITH_RUBYEMBED
#endif
+#if defined(WITH_RUBYEMBED)
+#include <dlfcn.h>
+#include <rpmlog.h>
+#endif
+
#define _RPMRUBY_INTERNAL 1
#include "rpmruby.h"
/**
* Allows access to the gory details of rpmruby pool items.
@@ -33,6 +39,11 @@ int _rpmruby_debug = 0;
/*@unchecked@*/ /*@relnull@*/
rpmruby _rpmrubyI = NULL;
+#if defined(WITH_RUBYEMBED)
+static int dlopened = 0;
+static rpmruby (*rpmrubyNew_p) (char ** av, uint32_t flags);
+static rpmRC (*rpmrubyRun_p) (rpmruby ruby, const char * str, const char ** resultp);
+#endif
/**
@@ -44,7 +55,7 @@ static void rpmrubyFini(void *_ruby)
@@ -32,7 +41,7 @@ static void rpmrubyFini(void *_ruby)
{
rpmruby ruby = _ruby;
rpmruby ruby = (rpmruby) _ruby;
-# if defined(WITH_RUBYEMBED)
+# if defined(MODULE_EMBED)
ruby_cleanup(0);
# endif
ruby->I = NULL;
@@ -86,7 +97,7 @@ static rpmruby rpmrubyGetPool(/*@null@*/
/*@unchecked@*/
-#if defined(WITH_RUBYEMBED)
+#if defined(MODULE_EMBED)
/** Initializes Ruby's StringIO for storing output in a string. */
static const char * rpmrubyInitStringIO = "\
@@ -101,15 +112,42 @@ static rpmruby rpmrubyI()
/*@globals _rpmrubyI @*/
/*@modifies _rpmrubyI @*/
{
- if (NULL == _rpmrubyI) {
+ if (NULL == _rpmrubyI)
_rpmrubyI = rpmrubyNew(NULL, 0);
- }
+# if defined(MODULE_EMBED)
ruby_cleanup(0);
#endif
ruby->I = NULL;
@@ -88,20 +97,51 @@ static rpmruby rpmrubyI()
return _rpmrubyI;
}
@ -590,36 +561,41 @@
+ dlopened = 1;
+}
+#endif
+
rpmruby rpmrubyNew(char **av, uint32_t flags)
{
+#if defined(WITH_RUBYEMBED)
+ if (!dlopened) loadModule();
+ if (dlopened) return rpmrubyNew_p(av, flags);
+#endif
/* TODO: Once Ruby allows several interpreter instances, distinguish
* between the global interpreter (1<<31 flag) and a new one.
*/
@@ -118,7 +156,8 @@ rpmruby rpmrubyNew(char **av, uint32_t f
+
static const char *_av[] = { "rpmruby", NULL };
/* XXX FIXME: recurse like every other embedded interpreter. */
if (_rpmrubyI)
return _rpmrubyI;
}
- rpmruby ruby = rpmrubyGetPool(_rpmrubyPool);
+ rpmruby ruby = (flags & 0x80000000)
+ ? rpmrubyI() : rpmrubyGetPool(_rpmrubyPool);
static char *_av[] = { "rpmruby", NULL };
if (NULL == av) {
@@ -128,7 +167,7 @@ rpmruby rpmrubyNew(char **av, uint32_t f
if (av == NULL)
av = (char **) _av;
/* Set up embedded Ruby interpreter if embedded Ruby is enabled. */
-# if defined(WITH_RUBYEMBED)
-#if defined(WITH_RUBYEMBED)
+# if defined(MODULE_EMBED)
RUBY_INIT_STACK;
ruby_init();
ruby_init_loadpath();
@@ -144,6 +183,10 @@ rpmruby rpmrubyNew(char **av, uint32_t f
RUBY_INIT_STACK;
ruby_init();
ruby_init_loadpath();
@@ -114,9 +154,18 @@ rpmruby rpmrubyNew(char **av, uint32_t f
return rpmrubyLink(ruby);
}
+#if defined(WITH_RUBYEMBED)
+static int dlopened = 0;
+static rpmruby (*rpmrubyNew_p) (char ** av, uint32_t flags);
+static rpmRC (*rpmrubyRun_p) (rpmruby ruby, const char * str, const char ** resultp);
+#endif
rpmRC rpmrubyRun(rpmruby ruby, const char *str, const char **resultp)
{
@ -629,18 +605,18 @@
+
rpmRC rc = RPMRC_FAIL;
if (_rpmruby_debug) {
@@ -156,7 +199,7 @@ rpmRC rpmrubyRun(rpmruby ruby, const cha
}
if (_rpmruby_debug)
@@ -125,7 +174,7 @@ fprintf(stderr, "==> %s(%p,%s,%p)\n", __
if (ruby == NULL)
ruby = rpmrubyI();
if (NULL != str) {
-# if defined(WITH_RUBYEMBED)
+# if defined(MODULE_EMBED)
int state = -1;
ruby->state = rb_eval_string_protect(str, &state);
--- rpm-5.4.8/rpmio/rpmsquirrel.c.dlopen~ 2010-03-08 23:24:07.000000000 +0100
+++ rpm-5.4.8/rpmio/rpmsquirrel.c 2012-04-25 17:53:37.154285818 +0200
-#if defined(WITH_RUBYEMBED)
+#if defined(MODULE_EMBED)
if (str) {
int state = -1;
ruby->state = rb_eval_string_protect(str, &state);
--- rpm-5.4.9/rpmio/rpmsquirrel.c.dlopen~ 2012-04-15 23:20:53.000000000 +0200
+++ rpm-5.4.9/rpmio/rpmsquirrel.c 2012-05-15 04:55:00.673796677 +0200
@@ -3,9 +3,16 @@
#include <argv.h>
@ -674,7 +650,7 @@
/*@globals fileSystem @*/
/*@modifies *_squirrel, fileSystem @*/
{
rpmsquirrel squirrel = _squirrel;
rpmsquirrel squirrel = (rpmsquirrel) _squirrel;
-#if defined(WITH_SQUIRREL)
+#if defined(MODULE_EMBED)
@ -777,8 +753,8 @@
if (str != NULL) {
size_t ns = strlen(str);
if (ns > 0) {
--- rpm-5.4.8/rpmio/rpmtcl.c.dlopen~ 2010-10-18 04:38:27.000000000 +0200
+++ rpm-5.4.8/rpmio/rpmtcl.c 2012-04-25 17:53:37.155285823 +0200
--- rpm-5.4.9/rpmio/rpmtcl.c.dlopen~ 2012-04-15 23:20:53.000000000 +0200
+++ rpm-5.4.9/rpmio/rpmtcl.c 2012-05-15 04:55:00.673796677 +0200
@@ -2,9 +2,16 @@
#include <argv.h>
@ -812,7 +788,7 @@
/*@globals fileSystem @*/
/*@modifies *_tcl, fileSystem @*/
{
rpmtcl tcl = _tcl;
rpmtcl tcl = (rpmtcl) _tcl;
-#if defined(WITH_TCL)
+#if defined(MODULE_EMBED)
@ -876,9 +852,9 @@
static char * _av[] = { "rpmtcl", NULL };
Tcl_Interp * tclI = Tcl_CreateInterp();
char b[32];
@@ -150,13 +191,18 @@ rpmtcl rpmtclNew(char ** av, uint32_t fl
Tcl_SetChannelOption(tclI, tcl->tclout, "-translation", "auto");
Tcl_StackChannel(tclI, &rpmtclIO, tcl, TCL_WRITABLE, tcl->tclout);
@@ -152,13 +193,18 @@ rpmtcl rpmtclNew(char ** av, uint32_t fl
tcl->tclout = (void *) tclout;
}
#endif
+#if !defined(WITH_TCL)
tcl->iob = rpmiobNew(0);
@ -895,7 +871,7 @@
rpmRC rc = RPMRC_FAIL;
if (_rpmtcl_debug)
@@ -164,7 +210,7 @@ fprintf(stderr, "==> %s(%p,%s)\n", __FUN
@@ -166,7 +212,7 @@ fprintf(stderr, "==> %s(%p,%s)\n", __FUN
if (tcl == NULL) tcl = rpmtclI();
@ -904,7 +880,7 @@
if (fn != NULL && Tcl_EvalFile((Tcl_Interp *)tcl->I, fn) == TCL_OK) {
rc = RPMRC_OK;
if (resultp)
@@ -176,6 +222,9 @@ fprintf(stderr, "==> %s(%p,%s)\n", __FUN
@@ -178,6 +224,9 @@ fprintf(stderr, "==> %s(%p,%s)\n", __FUN
rpmRC rpmtclRun(rpmtcl tcl, const char * str, const char ** resultp)
{
@ -914,7 +890,7 @@
rpmRC rc = RPMRC_FAIL;
if (_rpmtcl_debug)
@@ -183,7 +232,7 @@ fprintf(stderr, "==> %s(%p,%s)\n", __FUN
@@ -185,7 +234,7 @@ fprintf(stderr, "==> %s(%p,%s)\n", __FUN
if (tcl == NULL) tcl = rpmtclI();
@ -923,8 +899,8 @@
if (str != NULL && Tcl_Eval((Tcl_Interp *)tcl->I, str) == TCL_OK) {
rc = RPMRC_OK;
if (resultp)
--- rpm-5.4.8/ruby/Makefile.am.dlopen~ 2011-09-13 03:12:53.000000000 +0200
+++ rpm-5.4.8/ruby/Makefile.am 2012-04-25 17:53:37.155285823 +0200
--- rpm-5.4.9/ruby/Makefile.am.dlopen~ 2011-09-13 03:12:53.000000000 +0200
+++ rpm-5.4.9/ruby/Makefile.am 2012-05-15 04:55:00.674796682 +0200
@@ -50,8 +50,8 @@ pkgbindir = @USRLIBRPM@/bin
pkgbin_PROGRAMS = trb
pkglib_LTLIBRARIES = rpm.la
@ -936,8 +912,8 @@
rpm_la_LIBADD = \
$(top_builddir)/build/librpmbuild.la \
$(top_builddir)/lib/librpm.la \
--- rpm-5.4.8/ruby/system.h.dlopen~ 2010-12-01 17:09:50.000000000 +0100
+++ rpm-5.4.8/ruby/system.h 2012-04-25 17:53:37.155285823 +0200
--- rpm-5.4.9/ruby/system.h.dlopen~ 2010-12-01 17:09:50.000000000 +0100
+++ rpm-5.4.9/ruby/system.h 2012-05-15 04:55:00.674796682 +0200
@@ -2,6 +2,7 @@
#define H_SYSTEM_RUBY

View file

@ -1,14 +1,16 @@
--- rpm-5.4.7/lib/rpmfc.c.no_verdepfeat~ 2012-03-10 01:51:00.852840848 +0100
+++ rpm-5.4.7/lib/rpmfc.c 2012-03-10 01:55:43.400226933 +0100
@@ -500,17 +500,6 @@ assert(EVR != NULL);
--- rpm-5.4.9/lib/rpmfc.c.no_verdepfeat~ 2012-05-15 03:02:42.578268986 +0200
+++ rpm-5.4.9/lib/rpmfc.c 2012-05-15 03:03:46.035612993 +0200
@@ -504,19 +504,6 @@ assert(EVR != NULL);
if (_filter_values && rpmfcMatchRegexps(mire, nmire, N, deptype))
continue;
- /* Add tracking dependency for versioned Provides: */
- if (!fc->tracked && deptype == 'P' && *EVR != '\0') {
- static evrFlags _Flags = (evrFlags)
- (RPMSENSE_RPMLIB|(RPMSENSE_LESS|RPMSENSE_EQUAL));
- ds = rpmdsSingle(RPMTAG_REQUIRENAME,
- "rpmlib(VersionedDependencies)", "3.0.3-1",
- RPMSENSE_RPMLIB|(RPMSENSE_LESS|RPMSENSE_EQUAL));
- _Flags);
- xx = rpmdsMerge(&fc->requires, ds);
- (void)rpmdsFree(ds);
- ds = NULL;
@ -18,7 +20,7 @@
ds = rpmdsSingle(tagN, N, EVR, Flags);
#if defined(RPM_VENDOR_MANDRIVA) /* filter-overlapping-dependencies */
@@ -1999,7 +1988,6 @@ rpmRC rpmfcGenerateDepends(void * specp,
@@ -2022,7 +2009,6 @@ rpmRC rpmfcGenerateDepends(void * _spec,
fc = rpmfcNew();
fc->skipProv = !pkg->autoProv;
fc->skipReq = !pkg->autoReq;
@ -26,9 +28,9 @@
{ const char * buildRootURL;
const char * buildRoot;
--- rpm-5.4.7/lib/rpmfc.h.no_verdepfeat~ 2012-03-10 01:51:13.815858572 +0100
+++ rpm-5.4.7/lib/rpmfc.h 2012-03-10 01:56:17.527273534 +0100
@@ -75,7 +75,6 @@ struct rpmfc_s {
--- rpm-5.4.9/lib/rpmfc.h.no_verdepfeat~ 2012-04-22 19:07:07.000000000 +0200
+++ rpm-5.4.9/lib/rpmfc.h 2012-05-15 03:02:42.609269153 +0200
@@ -76,7 +76,6 @@ struct rpmfc_s {
size_t ix; /*!< current file index */
int skipProv; /*!< Don't auto-generate Provides:? */
int skipReq; /*!< Don't auto-generate Requires:? */

View file

@ -1,6 +1,6 @@
--- rpm-5.4.4/build/files.c.dups_terminate~ 2011-12-05 20:29:26.967255130 +0100
+++ rpm-5.4.4/build/files.c 2011-12-05 20:34:20.850092893 +0100
@@ -2909,7 +2909,8 @@ exit:
--- rpm-5.4.9/build/files.c.dups_terminate~ 2012-05-15 02:15:44.772405881 +0200
+++ rpm-5.4.9/build/files.c 2012-05-15 02:15:44.779405916 +0200
@@ -2917,7 +2917,8 @@ exit:
/* auxiliary function for checkDuplicateFiles() */
/* XXX need to pass Header because fi->h is NULL */
@ -10,7 +10,7 @@
/*@globals internalState @*/
/*@modifies fi1, fi2, internalState @*/
{
@@ -2947,7 +2948,7 @@ static int fiIntersect(/*@null@*/ rpmfi
@@ -2955,7 +2956,7 @@ static int fiIntersect(/*@null@*/ rpmfi
he->tag = RPMTAG_NVRA;
N2 = (headerGet(fi2->h, he, 0) ? he->p.str : NULL);
@ -19,7 +19,7 @@
_("File(s) packaged into both %s and %s:\n%s"),
N1, N2, rpmiobStr(dups));
@@ -2964,7 +2965,8 @@ static int fiIntersect(/*@null@*/ rpmfi
@@ -2972,7 +2973,8 @@ static int fiIntersect(/*@null@*/ rpmfi
* @param spec spec file control structure
* @return number of duplicate files
*/
@ -29,7 +29,7 @@
/*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
/*@modifies *spec->packages,
rpmGlobalMacroContext, fileSystem, internalState @*/
@@ -2989,7 +2991,7 @@ static int checkDuplicateFiles(Spec spec
@@ -2997,7 +2999,7 @@ static int checkDuplicateFiles(Spec spec
#endif
if (fi2 == NULL) continue;
(void) rpmfiSetHeader(fi2, pkg2->header);
@ -38,7 +38,7 @@
(void) rpmfiSetHeader(fi2, NULL);
fi2 = rpmfiFree(fi2);
}
@@ -3172,9 +3174,13 @@ rpmRC processBinaryFiles(Spec spec, int
@@ -3181,9 +3183,13 @@ rpmRC processBinaryFiles(Spec spec, int
}
if (res == RPMRC_OK) {
@ -53,13 +53,14 @@
(void) checkUnpackagedSubdirs(spec, buildrootL);
}
--- rpm-5.4.4/macros/mandriva.in.dups_terminate~ 2011-12-05 20:29:36.660283699 +0100
+++ rpm-5.4.4/macros/mandriva.in 2011-12-05 20:29:43.800304703 +0100
@@ -119,6 +119,7 @@ end\
# TODO: fix check script and implement support for using
#%_multiarch_required_terminate_build 1
--- rpm-5.4.9/macros/mandriva.in.dups_terminate~ 2012-05-08 05:06:12.000000000 +0200
+++ rpm-5.4.9/macros/mandriva.in 2012-05-15 02:16:18.723578174 +0200
@@ -122,6 +122,8 @@ end\
# use XZ to compress binary packages:
%_binary_payload w5.xzdio
+%_duplicate_files_terminate_build 1
+
%_enable_debug_packages 1

View file

@ -1,6 +1,6 @@
--- rpm-5.4.4/configure.ac.reloc_debug~ 2011-11-28 16:47:13.267698364 +0100
+++ rpm-5.4.4/configure.ac 2011-11-28 16:48:21.989781551 +0100
@@ -617,6 +617,35 @@ AC_PATH_PROG(__STRIP, strip, %{_bindir}/
--- rpm-5.4.9/configure.ac.strip_reloc_debug~ 2012-05-04 10:41:08.000000000 +0200
+++ rpm-5.4.9/configure.ac 2012-05-15 02:03:16.448634686 +0200
@@ -625,6 +625,35 @@ AC_PATH_PROG(__STRIP, strip, %{_bindir}/
AC_CHECK_PROGS(LIBTOOLIZE, libtoolize glibtoolize, libtoolize)
AC_SUBST(LIBTOOLIZE)
@ -36,9 +36,9 @@
dnl # check for id -u
AC_MSG_CHECKING(whether id supports -u)
if ${__ID} -u 2>&1 > /dev/null; then
--- rpm-5.4.4/macros/macros.in.reloc_debug~ 2011-09-13 03:12:51.000000000 +0200
+++ rpm-5.4.4/macros/macros.in 2011-11-28 16:49:04.073832540 +0100
@@ -145,7 +145,7 @@
--- rpm-5.4.9/macros/macros.in.strip_reloc_debug~ 2012-05-15 02:03:16.377634331 +0200
+++ rpm-5.4.9/macros/macros.in 2012-05-15 02:03:16.449634691 +0200
@@ -148,7 +148,7 @@
# the script. See the script for details.
#
%__debug_install_post \
@ -47,8 +47,8 @@
%{nil}
# Template for debug information sub-package.
--- rpm-5.4.4/macros/macros.rpmbuild.in.reloc_debug~ 2011-10-21 17:39:02.000000000 +0200
+++ rpm-5.4.4/macros/macros.rpmbuild.in 2011-11-28 16:49:27.438860866 +0100
--- rpm-5.4.9/macros/macros.rpmbuild.in.strip_reloc_debug~ 2011-10-21 17:39:02.000000000 +0200
+++ rpm-5.4.9/macros/macros.rpmbuild.in 2012-05-15 02:03:16.450634696 +0200
@@ -21,6 +21,7 @@
%__ranlib @RANLIB@
%__remsh %{__rsh}
@ -57,8 +57,8 @@
# XXX avoid failures if tools are not installed when rpm is built.
%__libtoolize @LIBTOOLIZE@
--- rpm-5.4.4/scripts/find-debuginfo.sh.reloc_debug~ 2011-11-25 14:36:31.003837273 +0100
+++ rpm-5.4.4/scripts/find-debuginfo.sh 2011-11-28 16:50:50.324961429 +0100
--- rpm-5.4.9/scripts/find-debuginfo.sh.strip_reloc_debug~ 2012-05-08 05:10:17.000000000 +0200
+++ rpm-5.4.9/scripts/find-debuginfo.sh 2012-05-15 02:04:42.628066270 +0200
@@ -2,7 +2,7 @@
#find-debuginfo.sh - automagically generate debug info and file list
#for inclusion in an rpm spec file.
@ -95,7 +95,7 @@
-o)
if [ -z "${lists[$nout]}" -a -z "${ptns[$nout]}" ]; then
out=$2
@@ -90,10 +97,11 @@ debugdir="${RPM_BUILD_ROOT}/usr/lib/debu
@@ -90,12 +97,13 @@ debugdir="${RPM_BUILD_ROOT}/usr/lib/debu
strip_to_debug()
{
local g=
@ -103,6 +103,8 @@
$strip_g && case "$(file -bi "$2")" in
application/x-sharedlib*) g=-g ;;
esac
[ -n "$EXCLUDE_FULL_REGEXP" ] && grep -E -q "$EXCLUDE_FULL_REGEXP" <<< "$2" && g=-g
- eu-strip --remove-comment $g $([ -n "$DISABLE_DEBUG" ] || echo -f "$1") "$2" || exit
+ eu-strip --remove-comment $g $([ -n "$DISABLE_DEBUG" ] || echo $r -f "$1") "$2" || exit
[ -n "$DISABLE_DEBUG" ] || chmod 444 "$1" || exit

View file

@ -1,15 +1,14 @@
--- rpm-5.4.4/build/parseDescription.c.mdvbz62979~ 2011-04-07 01:34:01.000000000 +0200
+++ rpm-5.4.4/build/parseDescription.c 2011-11-12 18:11:36.736325952 +0100
@@ -90,6 +90,8 @@ int parseDescription(Spec spec)
--- rpm-5.4.9/build/parseDescription.c.mdvbz62979~ 2012-05-03 20:39:51.000000000 +0200
+++ rpm-5.4.9/build/parseDescription.c 2012-05-15 01:55:31.332318888 +0200
@@ -92,6 +92,7 @@ int parseDescription(Spec spec)
}
/* Lose the inheirited %description (if present). */
+
+#if !defined(RPM_VENDOR_MANDRIVA) /* mdvbz#62979 */
if (spec->packages->header != pkg->header) {
HE_t he = memset(alloca(sizeof(*he)), 0, sizeof(*he));
int xx;
@@ -99,6 +101,7 @@ int parseDescription(Spec spec)
he->tag = RPMTAG_DESCRIPTION;
xx = headerGet(pkg->header, he, 0);
@@ -99,6 +100,7 @@ int parseDescription(Spec spec)
if (xx && he->t == RPM_STRING_TYPE)
xx = headerDel(pkg->header, he, 0);
}

View file

@ -0,0 +1,11 @@
--- rpm-5.4.9/lib/rpmgi.c.pattern~ 2012-04-15 23:20:58.000000000 +0200
+++ rpm-5.4.9/lib/rpmgi.c 2012-05-17 01:56:21.018481577 +0200
@@ -473,7 +473,7 @@ fprintf(stderr, "*** gi %p key %p[%d]\tm
pat = ae;
got++;
}
- if (got) {
+ if (got >= 0) {
if (_rpmgi_debug < 0)
fprintf(stderr, "\tav %p[%d]: \"%s\" -> %s ~= \"%s\"\n", gi->argv, (int)(av - gi->argv), *av, tagName((rpmTag)tag), pat);
got = rpmmiAddPattern(gi->mi, (rpmTag)tag, RPMMIRE_DEFAULT, pat);

View file

@ -0,0 +1,11 @@
--- rpm-5.4.9/po/ru.po.ru~ 2012-05-08 05:34:29.000000000 +0200
+++ rpm-5.4.9/po/ru.po 2012-05-15 01:48:04.461117188 +0200
@@ -3029,7 +3029,7 @@ msgstr "(ÕÓÔÁÎÏ×ÌÅÎ)"
#: lib/rpmps.c:305
#, c-format
msgid "%s conflicts with %s%s"
-msgstr "%s ËÏÎÆÌÉËÔÕÅÔ Ó%s%s"
+msgstr "%s ËÏÎÆÌÉËÔÕÅÔ Ó %s%s"
#: lib/rpmps.c:311
#, fuzzy, c-format

View file

@ -1,9 +1,9 @@
--- rpm-5.3.12/rpmio/rpmhkp.c 2010-10-12 01:56:41.000000000 +0400
+++ rpm-5.3.12/rpmio/rpmhkp.c 2012-03-29 12:56:02.322614316 +0400
@@ -878,6 +878,14 @@
--- rpm-5.4.9/rpmio/rpmhkp.c.fix_verify~ 2012-04-16 22:53:33.000000000 +0200
+++ rpm-5.4.9/rpmio/rpmhkp.c 2012-05-15 03:51:08.805023846 +0200
@@ -901,6 +901,14 @@ char * t, * te;
te = t = tbuf;
*te = '\0';
rpmRC rpmhkpValidate(rpmhkp hkp, const char * keyname)
{
+ /*Reset all the temporary variables*/
+ hkp->pubx = -1;
+ hkp->uidx = -1;
@ -12,10 +12,10 @@
+ hkp->tvalid = 0;
+ hkp->uvalidx = -1;
+
pgpPkt pp = alloca(sizeof(*pp));
size_t pleft;
rpmRC rc = RPMRC_NOKEY; /* assume failure */
@@ -1055,7 +1063,7 @@
HKPDEBUG((stderr, "--> %s(%p,%s)\n", __FUNCTION__, hkp, keyname));
/* Do a lazy lookup before validating. */
@@ -1065,7 +1073,7 @@ SPEW((stderr, "\t%s\n", pgpHexStr(hkp->p
}
exit:

View file

@ -1,28 +1,5 @@
--- rpm-5.4.5/lib/rpmfc.c.font~ 2012-03-07 05:28:57.479297146 +0100
+++ rpm-5.4.5/lib/rpmfc.c 2012-03-07 05:28:57.492297157 +0100
@@ -967,6 +967,11 @@ static int rpmfcSCRIPT(rpmfc fc)
#endif
xx = rpmfcHelper(fc, 'R', "ruby");
} else
+ if (fc->fcolor->vals[fc->ix] & RPMFC_FONT) {
+ xx = rpmfcHelper(fc, 'P', "font");
+ /* XXX: currently of no use, but for the sake of consistency... */
+ xx = rpmfcHelper(fc, 'R', "font");
+ } else
if (fc->fcolor->vals[fc->ix] & RPMFC_HASKELL) {
xx = rpmfcHelper(fc, 'P', "haskell");
xx = rpmfcHelper(fc, 'R', "haskell");
@@ -1102,7 +1107,7 @@ typedef struct rpmfcApplyTbl_s {
/*@unchecked@*/
static struct rpmfcApplyTbl_s rpmfcApplyTable[] = {
{ rpmfcELF, RPMFC_ELF },
- { rpmfcSCRIPT, (RPMFC_SCRIPT|RPMFC_HASKELL|RPMFC_RUBY|RPMFC_PERL|RPMFC_PYTHON|RPMFC_LIBTOOL|RPMFC_PKGCONFIG|RPMFC_BOURNE|RPMFC_JAVA|RPMFC_PHP|RPMFC_MONO) },
+ { rpmfcSCRIPT, (RPMFC_SCRIPT|RPMFC_FONT|RPMFC_HASKELL|RPMFC_RUBY|RPMFC_PERL|RPMFC_PYTHON|RPMFC_LIBTOOL|RPMFC_PKGCONFIG|RPMFC_BOURNE|RPMFC_JAVA|RPMFC_PHP|RPMFC_MONO) },
#if defined(RPM_VENDOR_MANDRIVA)
{ rpmfcSYMLINK, RPMFC_SYMLINK },
#endif
--- rpm-5.4.5/macros/macros.rpmbuild.in.font~ 2012-03-07 05:28:57.116296787 +0100
+++ rpm-5.4.5/macros/macros.rpmbuild.in 2012-03-07 05:28:57.493297158 +0100
--- rpm-5.4.9/macros/macros.rpmbuild.in.font~ 2012-05-15 02:55:46.222011889 +0200
+++ rpm-5.4.9/macros/macros.rpmbuild.in 2012-05-15 02:55:46.347012566 +0200
@@ -682,5 +682,8 @@ done \
%requires_eq() %(echo '%*' | LC_ALL="C" xargs -r rpm -q --qf 'Requires: %%{name} = %%{epoch}:%%{version}\\n' | sed -e 's/ (none):/ /' -e 's/ 0:/ /' | grep -v "is not")
@ -32,8 +9,8 @@
+
# \endverbatim
#*/
--- rpm-5.4.5/scripts/fontconfig.prov.font~ 2012-03-07 05:28:57.493297158 +0100
+++ rpm-5.4.5/scripts/fontconfig.prov 2012-03-07 05:28:57.493297158 +0100
--- rpm-5.4.9/scripts/fontconfig.prov.font~ 2012-05-15 02:55:46.347012566 +0200
+++ rpm-5.4.9/scripts/fontconfig.prov 2012-05-15 02:55:46.347012566 +0200
@@ -0,0 +1,24 @@
+#!/bin/bash
+#
@ -59,9 +36,9 @@
+while read fn; do
+ $fcquery --format '%{=pkgkit}' "${fn}" 2> /dev/null
+done
--- rpm-5.4.5/scripts/Makefile.am.font~ 2012-03-07 05:28:57.405297072 +0100
+++ rpm-5.4.5/scripts/Makefile.am 2012-03-07 05:30:44.247402558 +0100
@@ -19,7 +19,7 @@ EXTRA_DIST = abi-compliance-checker.pl a
--- rpm-5.4.9/scripts/Makefile.am.font~ 2012-05-15 02:55:46.304012334 +0200
+++ rpm-5.4.9/scripts/Makefile.am 2012-05-15 02:55:46.347012566 +0200
@@ -19,7 +19,7 @@ EXTRA_DIST = api-sanity-autotest.pl api-
cpanflute cpanflute2 Specfile.pm \
find-provides.perl find-requires.perl \
find-provides.php find-requires.php \
@ -70,7 +47,7 @@
check-java-closure.sh java.prov.sh java.req.sh \
gstreamer.sh javadeps.sh libtooldeps.sh mgo \
mono-find-provides mono-find-requires \
@@ -54,8 +54,8 @@ pkgdata_SCRIPTS = \
@@ -55,8 +55,8 @@ pkgdata_SCRIPTS = \
brp-strip-shared brp-strip-static-archive brp-sparc64-linux \
check-files cross-build dbconvert.sh executabledeps.sh \
find-debuginfo.sh find-lang.sh find-prov.pl find-req.pl \

View file

@ -1,6 +1,6 @@
--- rpm-5.4.5/configure.ac.haskell~ 2012-02-29 21:01:57.821540252 +0100
+++ rpm-5.4.5/configure.ac 2012-02-29 21:02:21.191551902 +0100
@@ -2429,7 +2429,7 @@ AC_CONFIG_FILES([ po/Makefile.in
--- rpm-5.4.9/configure.ac.haskell~ 2012-05-15 02:51:07.328499989 +0200
+++ rpm-5.4.9/configure.ac 2012-05-15 02:51:07.393500340 +0200
@@ -2513,7 +2513,7 @@ AC_CONFIG_FILES([ po/Makefile.in
scripts/Makefile
rpmdb/DB_CONFIG
macros/macros macros/macros.rpmbuild
@ -9,55 +9,8 @@
macros/mandriva macros/suse macros/fedora macros/mono macros/perl macros/pkgconfig macros/php
macros/python macros/ruby macros/selinux macros/tcl
doc/Makefile
--- rpm-5.4.5/lib/rpmfc.c.haskell~ 2012-02-29 20:55:52.944358385 +0100
+++ rpm-5.4.5/lib/rpmfc.c 2012-02-29 20:55:52.950358388 +0100
@@ -936,6 +936,10 @@ static int rpmfcSCRIPT(rpmfc fc)
#endif
xx = rpmfcHelper(fc, 'R', "ruby");
} else
+ if (fc->fcolor->vals[fc->ix] & RPMFC_HASKELL) {
+ xx = rpmfcHelper(fc, 'P', "haskell");
+ xx = rpmfcHelper(fc, 'R', "haskell");
+ } else
if ((fc->fcolor->vals[fc->ix] & (RPMFC_MODULE|RPMFC_LIBRARY)) &&
strstr(fn, "/gstreamer")) {
xx = rpmfcHelper(fc, 'P', "gstreamer");
@@ -1067,7 +1071,7 @@ typedef struct rpmfcApplyTbl_s {
/*@unchecked@*/
static struct rpmfcApplyTbl_s rpmfcApplyTable[] = {
{ rpmfcELF, RPMFC_ELF },
- { rpmfcSCRIPT, (RPMFC_SCRIPT|RPMFC_RUBY|RPMFC_PERL|RPMFC_PYTHON|RPMFC_LIBTOOL|RPMFC_PKGCONFIG|RPMFC_BOURNE|RPMFC_JAVA|RPMFC_PHP|RPMFC_MONO) },
+ { rpmfcSCRIPT, (RPMFC_SCRIPT|RPMFC_HASKELL|RPMFC_RUBY|RPMFC_PERL|RPMFC_PYTHON|RPMFC_LIBTOOL|RPMFC_PKGCONFIG|RPMFC_BOURNE|RPMFC_JAVA|RPMFC_PHP|RPMFC_MONO) },
#if defined(RPM_VENDOR_MANDRIVA)
{ rpmfcSYMLINK, RPMFC_SYMLINK },
#endif
@@ -1151,6 +1155,12 @@ assert(fc->fn != NULL);
}
}
+ /* XXX ugly quick & dirty integration of haskell() dependencies */
+ { fn = strstr(fc->fn[fc->ix], "/usr/share/haskell-deps");
+ if (fn)
+ fc->fcolor->vals[fc->ix] |= RPMFC_HASKELL;
+ }
+
if (fc->fcolor->vals[fc->ix])
for (fcat = rpmfcApplyTable; fcat->func != NULL; fcat++) {
if (!(fc->fcolor->vals[fc->ix] & fcat->colormask))
--- rpm-5.4.5/lib/rpmfc.h.haskell~ 2011-04-01 04:03:43.000000000 +0200
+++ rpm-5.4.5/lib/rpmfc.h 2012-02-29 20:55:52.951358389 +0100
@@ -24,7 +24,8 @@ typedef enum FCOLOR_e {
#define RPMFC_ELF (RPMFC_ELF32|RPMFC_ELF64|RPMFC_ELFMIPSN32)
/* (1 << 3) leaks into package headers, reserved */
- /* bits 4-6 unused */
+ /* bits 4-5 unused */
+ RPMFC_HASKELL = (1 << 6),
RPMFC_RUBY = (1 << 7),
RPMFC_PKGCONFIG = (1 << 8),
RPMFC_LIBTOOL = (1 << 9),
--- rpm-5.4.5/macros/haskell.in.haskell~ 2012-02-29 20:55:52.951358389 +0100
+++ rpm-5.4.5/macros/haskell.in 2012-02-29 20:55:52.951358389 +0100
--- rpm-5.4.9/macros/haskell.in.haskell~ 2012-05-15 02:51:07.395500350 +0200
+++ rpm-5.4.9/macros/haskell.in 2012-05-15 02:51:07.395500350 +0200
@@ -0,0 +1,69 @@
+# Ruby specific macro definitions.
+# To make use of these macros insert the following line into your spec file:
@ -128,22 +81,9 @@
+
+%_cabal_haddoc_files \
+%{?!_no_haddock:%doc dist/doc/html}
--- rpm-5.4.5/macros/macros.in.haskell~ 2012-02-29 20:55:52.797358312 +0100
+++ rpm-5.4.5/macros/macros.in 2012-02-29 20:55:52.951358389 +0100
@@ -975,6 +975,10 @@ $_arbitrary_tags_tests Foo:Bar
%{load:%{_usrlibrpm}/macros.d/gstreamer}
#------------------------------------------------------------------------
+# haskell(...) configuration.
+%{load:%{_usrlibrpm}/macros.d/haskell}
+
+#------------------------------------------------------------------------
# perl(...) configuration
%{load:%{_usrlibrpm}/macros.d/perl}
--- rpm-5.4.5/Makefile.am.haskell~ 2012-02-29 20:55:52.899358362 +0100
+++ rpm-5.4.5/Makefile.am 2012-02-29 20:55:52.951358389 +0100
@@ -112,9 +112,9 @@ pkgbin_SCRIPTS = install-sh mkinstalldir
--- rpm-5.4.9/Makefile.am.haskell~ 2012-03-17 01:24:19.000000000 +0100
+++ rpm-5.4.9/Makefile.am 2012-05-15 02:51:09.049509318 +0200
@@ -116,9 +116,9 @@ pkgbin_SCRIPTS = install-sh mkinstalldir
pkgcfgdir = $(pkgdatadir)/macros.d
pkgcfg_DATA = \
@ -156,8 +96,8 @@
noinst_HEADERS = build.h debug.h system.h
--- rpm-5.4.5/scripts/haskelldeps.sh.haskell~ 2012-02-29 20:55:52.951358389 +0100
+++ rpm-5.4.5/scripts/haskelldeps.sh 2012-02-29 20:55:52.951358389 +0100
--- rpm-5.4.9/scripts/haskelldeps.sh.haskell~ 2012-05-15 02:51:09.050509324 +0200
+++ rpm-5.4.9/scripts/haskelldeps.sh 2012-05-15 02:51:09.050509324 +0200
@@ -0,0 +1,40 @@
+#!/bin/sh
+
@ -199,9 +139,9 @@
+if [ $requires -eq 1 ]; then
+ finddeps requires
+fi
--- rpm-5.4.5/scripts/Makefile.am.haskell~ 2012-02-29 20:55:52.899358362 +0100
+++ rpm-5.4.5/scripts/Makefile.am 2012-02-29 20:55:52.952358390 +0100
@@ -19,7 +19,7 @@ EXTRA_DIST = abi-compliance-checker.pl a
--- rpm-5.4.9/scripts/Makefile.am.haskell~ 2012-05-04 10:38:44.000000000 +0200
+++ rpm-5.4.9/scripts/Makefile.am 2012-05-15 02:51:09.050509324 +0200
@@ -19,7 +19,7 @@ EXTRA_DIST = api-sanity-autotest.pl api-
cpanflute cpanflute2 Specfile.pm \
find-provides.perl find-requires.perl \
find-provides.php find-requires.php \
@ -210,7 +150,7 @@
check-java-closure.sh java.prov.sh java.req.sh \
gstreamer.sh javadeps.sh libtooldeps.sh mgo \
mono-find-provides mono-find-requires \
@@ -55,7 +55,7 @@ pkgdata_SCRIPTS = \
@@ -56,7 +56,7 @@ pkgdata_SCRIPTS = \
check-files cross-build dbconvert.sh executabledeps.sh \
find-debuginfo.sh find-lang.sh find-prov.pl find-req.pl \
find-provides.perl \

View file

@ -1,6 +1,6 @@
--- rpm-5.4.7/macros/macros.in.haskell~ 2012-03-09 05:30:29.000000000 +0100
+++ rpm-5.4.7/macros/macros.in 2012-03-09 05:32:00.392583171 +0100
@@ -962,55 +962,55 @@ $_arbitrary_tags_tests Foo:Bar
--- rpm-5.4.9/macros/macros.in.script_macros~ 2012-05-07 00:36:51.000000000 +0200
+++ rpm-5.4.9/macros/macros.in 2012-05-15 01:39:37.382649841 +0200
@@ -993,63 +993,63 @@ $_arbitrary_tags_tests Foo:Bar
# XXX %{load:...}, then loading will CEASE at that point in the file.
#==============================================================================
# ---- SELinux configuration macros.
@ -22,6 +22,11 @@
-#%%{load:%{_usrlibrpm}/macros.d/gstreamer}
+%{load:%{_usrlibrpm}/macros.d/gstreamer}
#------------------------------------------------------------------------
# haskell(...) configuration.
-#%%{load:%{_usrlibrpm}/macros.d/haskell}
+%{load:%{_usrlibrpm}/macros.d/haskell}
#------------------------------------------------------------------------
# perl(...) configuration
-#%%{load:%{_usrlibrpm}/macros.d/perl}
@ -67,5 +72,10 @@
-#%%{load:%{_usrlibrpm}/macros.d/tcl}
+%{load:%{_usrlibrpm}/macros.d/tcl}
#------------------------------------------------------------------------
# typelib(...) configuration.
-#%%{load:%{_usrlibrpm}/macros.d/typelib}
+%{load:%{_usrlibrpm}/macros.d/typelib}
# \endverbatim
#*/

View file

@ -1,11 +1,11 @@
--- rpm-5.4.7/rpmio/mire.c.str_nul~ 2012-03-21 23:07:58.546356592 +0100
+++ rpm-5.4.7/rpmio/mire.c 2012-03-21 23:09:19.946478463 +0100
@@ -412,11 +412,10 @@ int mireRegexec(miRE mire, const char *
--- rpm-5.4.9/rpmio/mire.c.str_nul~ 2012-04-16 05:21:22.000000000 +0200
+++ rpm-5.4.9/rpmio/mire.c 2012-05-15 03:20:14.361970779 +0200
@@ -415,11 +415,10 @@ int mireRegexec(miRE mire, const char *
break;
/* XXX rpmgrep: ensure that the string is NUL terminated. */
if (vallen > 0) {
- if (val[vallen] != '\0') {
- char * t = strncpy(alloca(vallen+1), val, vallen);
- char * t = strncpy((char *)alloca(vallen+1), val, vallen);
- t[vallen] = '\0';
- val = t;
- }
@ -16,7 +16,7 @@
} else
if (vallen == 0)
vallen = strlen(val);
@@ -462,6 +461,13 @@ int mireRegexec(miRE mire, const char *
@@ -466,6 +465,13 @@ int mireRegexec(miRE mire, const char *
case RPMMIRE_GLOB:
if (mire->pattern == NULL)
break;

View file

@ -1,5 +1,5 @@
--- rpm-5.3.8/lib/transaction.c.doc_conflicts~ 2011-01-18 23:27:15.243131004 +0100
+++ rpm-5.3.8/lib/transaction.c 2011-01-18 23:34:38.430131002 +0100
--- rpm-5.4.9/lib/transaction.c.doc_conflicts~ 2012-04-26 20:36:19.000000000 +0200
+++ rpm-5.4.9/lib/transaction.c 2012-05-15 01:46:37.964693880 +0200
@@ -68,6 +68,24 @@
/*@access IDTX @*/
/*@access FD_t @*/
@ -22,10 +22,10 @@
+}
+#endif
+
static int handleInstInstalledFile(const rpmts ts, rpmte p, rpmfi fi,
Header otherHeader, rpmfi otherFi,
int beingRemoved)
@@ -117,6 +135,17 @@ static int handleInstInstalledFile(const
#ifdef __cplusplus
#define FF_ISSET(_fflags, _FLAG) ((_fflags) & (RPMFILE_##_FLAG))
@@ -164,6 +182,17 @@ static int handleInstInstalledFile(const
}
}
@ -41,9 +41,9 @@
+#endif
+
if (rConflicts) {
HE_t he = memset(alloca(sizeof(*he)), 0, sizeof(*he));
HE_t he = (HE_t) memset(alloca(sizeof(*he)), 0, sizeof(*he));
rpmps ps = rpmtsProblems(ts);
@@ -381,6 +410,17 @@ assert(otherFi != NULL);
@@ -429,6 +458,17 @@ assert(otherFi != NULL);
done = 1;
}

View file

@ -1,6 +1,6 @@
--- rpm-5.3.8/lib/psm.c.scriptlet~ 2011-01-09 07:18:14.000000000 +0100
+++ rpm-5.3.8/lib/psm.c 2011-01-19 01:04:33.070131004 +0100
@@ -2178,6 +2178,10 @@ rpmRC rpmpsmStage(rpmpsm psm, pkgStage s
--- rpm-5.4.9/lib/psm.c.scriptlet~ 2012-04-19 19:26:06.000000000 +0200
+++ rpm-5.4.9/lib/psm.c 2012-05-15 01:43:59.841922573 +0200
@@ -2195,6 +2195,10 @@ rpmRC rpmpsmStage(rpmpsm psm, pkgStage s
rpmRC rc = psm->rc;
int saveerrno;
int xx;
@ -11,56 +11,56 @@
/* XXX hackery to assert(!scareMem) in rpmfiNew. */
/*@-castexpose@*/
@@ -2399,11 +2403,11 @@ assert(he->p.argv != NULL);
@@ -2416,11 +2420,11 @@ assert(he->p.argv != NULL);
if (!(rpmtsFlags(ts) & RPMTRANS_FLAG_NOTRIGGERUN)) {
/* Run triggers in this package other package(s) set off. */
rc = rpmpsmNext(psm, PSM_IMMED_TRIGGERS);
rc = (rpmRC) rpmpsmNext(psm, PSM_IMMED_TRIGGERS);
- if (rc) break;
+ if(rc && !non_pre_scripts_dont_fail) break;
/* Run triggers in other package(s) this package sets off. */
rc = rpmpsmNext(psm, PSM_TRIGGERS);
rc = (rpmRC) rpmpsmNext(psm, PSM_TRIGGERS);
- if (rc) break;
+ if(rc && !non_pre_scripts_dont_fail) break;
}
if (!(rpmtsFlags(ts) & RPMTRANS_FLAG_NOPREUN))
@@ -2743,16 +2747,16 @@ assert(psm->te != NULL);
@@ -2759,16 +2763,16 @@ assert(psm->te != NULL);
if (!(rpmtsFlags(ts) & RPMTRANS_FLAG_NOPOST)) {
rc = rpmpsmNext(psm, PSM_SCRIPT);
rc = (rpmRC) rpmpsmNext(psm, PSM_SCRIPT);
- if (rc) break;
+ if(rc && !non_pre_scripts_dont_fail) break;
}
if (!(rpmtsFlags(ts) & RPMTRANS_FLAG_NOTRIGGERIN)) {
/* Run triggers in other package(s) this package sets off. */
rc = rpmpsmNext(psm, PSM_TRIGGERS);
rc = (rpmRC) rpmpsmNext(psm, PSM_TRIGGERS);
- if (rc) break;
+ if(rc && !non_pre_scripts_dont_fail) break;
/* Run triggers in this package other package(s) set off. */
rc = rpmpsmNext(psm, PSM_IMMED_TRIGGERS);
rc = (rpmRC) rpmpsmNext(psm, PSM_IMMED_TRIGGERS);
- if (rc) break;
+ if(rc && !non_pre_scripts_dont_fail) break;
}
/*
@@ -2785,17 +2789,17 @@ assert(psm->te != NULL);
@@ -2801,17 +2805,17 @@ assert(psm->te != NULL);
if (!(rpmtsFlags(ts) & RPMTRANS_FLAG_NOPOSTUN)) {
rc = rpmpsmNext(psm, PSM_SCRIPT);
rc = (rpmRC) rpmpsmNext(psm, PSM_SCRIPT);
- if (rc) break;
+ if(rc && !non_pre_scripts_dont_fail) break;
}
if (!(rpmtsFlags(ts) & RPMTRANS_FLAG_NOTRIGGERPOSTUN)) {
/* Run triggers in other package(s) this package sets off. */
rc = rpmpsmNext(psm, PSM_TRIGGERS);
rc = (rpmRC) rpmpsmNext(psm, PSM_TRIGGERS);
- if (rc) break;
+ if(rc && !non_pre_scripts_dont_fail) break;
/* Run triggers in this package other package(s) set off. */
rc = rpmpsmNext(psm, PSM_IMMED_TRIGGERS);
rc = (rpmRC) rpmpsmNext(psm, PSM_IMMED_TRIGGERS);
- if (rc) break;
+ if(rc && !non_pre_scripts_dont_fail) break;
}

View file

@ -0,0 +1,11 @@
--- rpm-5.4.9/lib/rpmfc.c.rpmfc_ruby~ 2012-05-15 02:27:26.000000000 +0200
+++ rpm-5.4.9/lib/rpmfc.c 2012-05-15 02:27:34.978029207 +0200
@@ -1090,7 +1090,7 @@ typedef struct rpmfcApplyTbl_s {
/*@unchecked@*/
static struct rpmfcApplyTbl_s rpmfcApplyTable[] = {
{ rpmfcELF, RPMFC_ELF },
- { rpmfcSCRIPT, (RPMFC_SCRIPT|RPMFC_FONT|RPMFC_HASKELL|RPMFC_PERL|RPMFC_PYTHON|RPMFC_LIBTOOL|RPMFC_PKGCONFIG|RPMFC_BOURNE|RPMFC_JAVA|RPMFC_PHP|RPMFC_MONO|RPMFC_TYPELIB) },
+ { rpmfcSCRIPT, (RPMFC_SCRIPT|RPMFC_FONT|RPMFC_HASKELL|RPMFC_RUBY|RPMFC_PERL|RPMFC_PYTHON|RPMFC_LIBTOOL|RPMFC_PKGCONFIG|RPMFC_BOURNE|RPMFC_JAVA|RPMFC_PHP|RPMFC_MONO|RPMFC_TYPELIB) },
#if defined(RPM_VENDOR_MANDRIVA)
{ rpmfcSYMLINK, RPMFC_SYMLINK },
#endif

View file

@ -1,7 +1,7 @@
--- rpm-5.4.7/rpmio/rpmpython.c.input~ 2012-03-23 03:01:10.505766710 +0100
+++ rpm-5.4.7/rpmio/rpmpython.c 2012-03-23 03:01:12.497769360 +0100
@@ -214,7 +214,7 @@ fprintf(stderr, "==> %s(%p,%s,%p)\n", __
PyCompilerFlags cf = { .cf_flags = 0 };
--- rpm-5.4.9/rpmio/rpmpython.c.py_input~ 2012-05-15 03:40:55.316698083 +0200
+++ rpm-5.4.9/rpmio/rpmpython.c 2012-05-15 03:40:59.799722384 +0200
@@ -215,7 +215,7 @@ fprintf(stderr, "==> %s(%p,%s,%p)\n", __
PyCompilerFlags cf = { 0 };
PyObject * m = PyImport_AddModule("__main__");
PyObject * d = (m ? PyModule_GetDict(m) : NULL);
- PyObject * v = (m ? PyRun_StringFlags(val, Py_file_input, d, d, &cf) : NULL);

View file

@ -1,6 +1,6 @@
--- rpm-5.4.4/build/files.c.buildroot_dups~ 2010-08-28 18:07:04.000000000 +0200
+++ rpm-5.4.4/build/files.c 2011-12-05 20:25:54.273100370 +0100
@@ -2909,7 +2909,7 @@ exit:
--- rpm-5.4.9/build/files.c.buildroot_dups~ 2012-04-15 17:04:14.000000000 +0200
+++ rpm-5.4.9/build/files.c 2012-05-15 02:11:03.734983519 +0200
@@ -2917,7 +2917,7 @@ exit:
/* auxiliary function for checkDuplicateFiles() */
/* XXX need to pass Header because fi->h is NULL */
@ -9,7 +9,7 @@
/*@globals internalState @*/
/*@modifies fi1, fi2, internalState @*/
{
@@ -2933,7 +2933,7 @@ static int fiIntersect(/*@null@*/ rpmfi
@@ -2941,7 +2941,7 @@ static int fiIntersect(/*@null@*/ rpmfi
if (!dups)
dups = rpmiobNew(0);
dups = rpmiobAppend(dups, "\t", 0);
@ -18,7 +18,7 @@
n++;
}
}
@@ -2964,7 +2964,7 @@ static int fiIntersect(/*@null@*/ rpmfi
@@ -2972,7 +2972,7 @@ static int fiIntersect(/*@null@*/ rpmfi
* @param spec spec file control structure
* @return number of duplicate files
*/
@ -27,7 +27,7 @@
/*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
/*@modifies *spec->packages,
rpmGlobalMacroContext, fileSystem, internalState @*/
@@ -2989,7 +2989,7 @@ static int checkDuplicateFiles(Spec spec
@@ -2997,7 +2997,7 @@ static int checkDuplicateFiles(Spec spec
#endif
if (fi2 == NULL) continue;
(void) rpmfiSetHeader(fi2, pkg2->header);
@ -36,7 +36,7 @@
(void) rpmfiSetHeader(fi2, NULL);
fi2 = rpmfiFree(fi2);
}
@@ -3015,7 +3015,7 @@ static inline int packagedDir(Package pk
@@ -3023,7 +3023,7 @@ static inline int packagedDir(Package pk
* /A/B/C/D
* Now directories "/A/B" and "/A/B/C" should also be packaged.
*/
@ -45,7 +45,7 @@
/*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
/*@modifies pkg->header,
rpmGlobalMacroContext, fileSystem, internalState @*/
@@ -3088,7 +3088,7 @@ static int pkgUnpackagedSubdirs(Package
@@ -3096,7 +3096,7 @@ static int pkgUnpackagedSubdirs(Package
for (i = 0; i < n; i++) {
list = rpmiobAppend(list, "\t", 0);
@ -54,7 +54,7 @@
unpackaged[i] = _free(unpackaged[i]);
}
unpackaged = _free(unpackaged);
@@ -3109,7 +3109,7 @@ static int pkgUnpackagedSubdirs(Package
@@ -3117,7 +3117,7 @@ static int pkgUnpackagedSubdirs(Package
* @param spec spec file control structure
* @return number of unpackaged subdirectories
*/
@ -63,7 +63,7 @@
/*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
/*@modifies *spec->packages,
rpmGlobalMacroContext, fileSystem, internalState @*/
@@ -3118,7 +3118,7 @@ static int checkUnpackagedSubdirs(Spec s
@@ -3126,7 +3126,7 @@ static int checkUnpackagedSubdirs(Spec s
Package pkg;
for (pkg = spec->packages; pkg; pkg = pkg->next)
@ -72,11 +72,10 @@
return n;
}
@@ -3128,7 +3128,11 @@ rpmRC processBinaryFiles(Spec spec, int
HE_t he = memset(alloca(sizeof(*he)), 0, sizeof(*he));
@@ -3137,6 +3137,11 @@ rpmRC processBinaryFiles(Spec spec, int
Package pkg;
rpmRC res = RPMRC_OK;
-
+ char *buildroot = rpmExpand("%{?buildroot}", NULL);
+ size_t buildrootL = strlen(buildroot);
+
@ -85,7 +84,7 @@
for (pkg = spec->packages; pkg != NULL; pkg = pkg->next) {
int rc;
@@ -3170,8 +3174,8 @@ rpmRC processBinaryFiles(Spec spec, int
@@ -3178,8 +3183,8 @@ rpmRC processBinaryFiles(Spec spec, int
if (res == RPMRC_OK) {
if (checkUnpackagedFiles(spec) > 0)
res = RPMRC_FAIL;

View file

@ -0,0 +1,11 @@
--- rpm-5.4.9/system.h.nosig~ 2012-05-16 20:52:58.216415034 +0200
+++ rpm-5.4.9/system.h 2012-05-16 20:53:29.053598105 +0200
@@ -746,7 +746,7 @@ static inline const char *rcsid(const ch
/**
* Eliminate signature/digest disablers.
*/
-#undef SUPPORT_NOSIGNATURES
+#define SUPPORT_NOSIGNATURES 1
/**
* Permit ar(1) payloads. Disabled while rpmio/iosm.c is under development.

View file

@ -1,6 +1,6 @@
--- rpm-5.4.4/build/files.c.subdir_terminate~ 2011-12-05 20:37:46.641647149 +0100
+++ rpm-5.4.4/build/files.c 2011-12-05 20:40:57.247139251 +0100
@@ -3017,7 +3017,7 @@ static inline int packagedDir(Package pk
--- rpm-5.4.9/build/files.c.subdir_terminate~ 2012-05-15 02:17:39.183986877 +0200
+++ rpm-5.4.9/build/files.c 2012-05-15 02:17:39.188986902 +0200
@@ -3025,7 +3025,7 @@ static inline int packagedDir(Package pk
* /A/B/C/D
* Now directories "/A/B" and "/A/B/C" should also be packaged.
*/
@ -9,7 +9,7 @@
/*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
/*@modifies pkg->header,
rpmGlobalMacroContext, fileSystem, internalState @*/
@@ -3095,7 +3095,7 @@ static int pkgUnpackagedSubdirs(Package
@@ -3103,7 +3103,7 @@ static int pkgUnpackagedSubdirs(Package
}
unpackaged = _free(unpackaged);
@ -18,7 +18,7 @@
_("Unpackaged subdir(s) in %s:\n%s"),
N, rpmiobStr(list));
@@ -3111,7 +3111,7 @@ static int pkgUnpackagedSubdirs(Package
@@ -3119,7 +3119,7 @@ static int pkgUnpackagedSubdirs(Package
* @param spec spec file control structure
* @return number of unpackaged subdirectories
*/
@ -27,7 +27,7 @@
/*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
/*@modifies *spec->packages,
rpmGlobalMacroContext, fileSystem, internalState @*/
@@ -3120,7 +3120,7 @@ static int checkUnpackagedSubdirs(Spec s
@@ -3128,7 +3128,7 @@ static int checkUnpackagedSubdirs(Spec s
Package pkg;
for (pkg = spec->packages; pkg; pkg = pkg->next)
@ -36,7 +36,7 @@
return n;
}
@@ -3176,12 +3176,16 @@ rpmRC processBinaryFiles(Spec spec, int
@@ -3185,12 +3185,16 @@ rpmRC processBinaryFiles(Spec spec, int
if (res == RPMRC_OK) {
int _duplicate_files_terminate_build =
rpmExpandNumeric("%{?_duplicate_files_terminate_build}");
@ -54,16 +54,13 @@
}
return res;
--- rpm-5.4.4/macros/mandriva.in.subdir_terminate~ 2011-12-05 20:38:03.530691550 +0100
+++ rpm-5.4.4/macros/mandriva.in 2011-12-05 20:43:00.756448098 +0100
@@ -120,8 +120,9 @@ end\
#%_multiarch_required_terminate_build 1
--- rpm-5.4.9/macros/mandriva.in.subdir_terminate~ 2012-05-15 02:17:39.000000000 +0200
+++ rpm-5.4.9/macros/mandriva.in 2012-05-15 02:18:18.522186893 +0200
@@ -123,6 +123,7 @@ end\
%_binary_payload w5.xzdio
%_duplicate_files_terminate_build 1
-%_enable_debug_packages 1
+%_unpackaged_subdirs_terminate_build 0
+%_enable_debug_packages 1
%_enable_debug_packages 1
# Default extension to use (for info files)
%_extension .xz

View file

@ -1,6 +1,6 @@
--- rpm-5.4.5/lib/rpmfc.c.fc_deps~ 2012-02-24 17:46:31.044459738 +0100
+++ rpm-5.4.5/lib/rpmfc.c 2012-02-29 20:53:07.146275744 +0100
@@ -1725,12 +1725,14 @@ static int rpmfcGenerateScriptletDeps(co
--- rpm-5.4.9/lib/rpmfc.c.fc_deps~ 2012-05-15 02:23:23.157740011 +0200
+++ rpm-5.4.9/lib/rpmfc.c 2012-05-15 02:24:42.863147557 +0200
@@ -1763,12 +1763,14 @@ static int rpmfcGenerateScriptletDeps(co
return rc;
}
@ -17,7 +17,7 @@
he->tag = RPMTAG_REQUIRENAME;
xx = headerGet(h, he, 0);
@@ -1745,18 +1747,32 @@ static void removeSillyDeps(Header h) {
@@ -1783,18 +1785,32 @@ static void removeSillyDeps(Header h) {
xx = headerGet(h, he, 0);
flags = (evrFlags*)he->p.ui32p;
@ -50,7 +50,7 @@
rpmlog(RPMLOG_NOTICE, "Removing dependency on self: %s\n", rpmdsDNEVR(req));
removed++;
i--;
@@ -1765,6 +1781,52 @@ static void removeSillyDeps(Header h) {
@@ -1803,6 +1819,52 @@ static void removeSillyDeps(Header h) {
req = rpmdsFree(req);
prov = rpmdsFree(prov);
}
@ -103,17 +103,15 @@
if (removed) {
he->tag = RPMTAG_REQUIRENAME;
he->t = RPM_STRING_ARRAY_TYPE;
@@ -1782,7 +1844,9 @@ static void removeSillyDeps(Header h) {
@@ -1820,6 +1882,7 @@ static void removeSillyDeps(Header h) {
headerMod(h, he, 0);
}
+ return removed;
}
+
rpmRC rpmfcGenerateDepends(void * specp, void * pkgp)
{
HE_t he = memset(alloca(sizeof(*he)), 0, sizeof(*he));
@@ -1816,7 +1880,7 @@ rpmRC rpmfcGenerateDepends(void * specp,
rpmRC rpmfcGenerateDepends(void * _spec, void * _pkg)
@@ -1855,7 +1918,7 @@ rpmRC rpmfcGenerateDepends(void * _spec,
if (internaldeps == 0) {
/* ... then generate dependencies using %{__find_requires} et al. */
rc = rpmfcGenerateDependsHelper(spec, pkg, fi);
@ -122,7 +120,7 @@
printDeps(pkg->header);
return rc;
}
@@ -2006,6 +2070,8 @@ assert(he->p.ptr != NULL);
@@ -2045,6 +2108,8 @@ assert(he->p.ptr != NULL);
/*@=nullpass@*/
}
@ -131,7 +129,7 @@
/* Add dependency dictionary(#dependencies) */
he->tag = RPMTAG_DEPENDSDICT;
he->t = RPM_UINT32_TYPE;
@@ -2034,8 +2100,6 @@ assert(ac == (int)he->c);
@@ -2073,8 +2138,6 @@ assert(ac == (int)he->c);
xx = headerPut(pkg->header, he, 0);
}

248
rpm.spec
View file

@ -39,12 +39,15 @@
%global debugcflags %{debugcflags} -g3 -O0
%endif
# can probably be restored now..
%if %{with bootstrap}
#include %%{_sourcedir}/bootstrap.spec
%endif
%define bdb db52
%define libver 5.4
%define minorver 8
%define minorver 9
%define srcver %{libver}.%{minorver}
#define prereldate 20110712
@ -56,7 +59,7 @@ Summary: The RPM package management system
Name: rpm
Epoch: 1
Version: %{libver}.%{minorver}
Release: %{?prereldate:0.%{prereldate}.}1
Release: %{?prereldate:0.%{prereldate}.}2
License: LGPLv2.1+
Group: System/Configuration/Packaging
URL: http://rpm5.org/
@ -75,165 +78,248 @@ Source4: legacy_compat.macros
# already merged upstream
Patch0: rpm-5.3.8-set-default-bdb-log-dir.patch
# TODO: should be disable for cooker, packaging needs to be fixed (enable for legacy compatibility)
# status: to be removed later..
Patch1: rpm-5.3.8-dependency-whiteout.patch
# TODO: make conditional & disabled through macro by default (enable for legacy compatibility)
Patch2: rpm-5.3.8-non-pre-scripts-dont-fail.patch
Patch3: rpm-5.3.8-no-doc-conflicts.patch
# status: to be removed later
Patch2: rpm-5.4.9-non-pre-scripts-dont-fail.patch
# status: to be removed later
Patch3: rpm-5.4.9-no-doc-conflicts.patch
# if distsuffix is defined, use it for disttag (from Anssi)
# status: merged upstream IIRC, could probably be dropped
Patch4: rpm-5.3.8-disttag-distsuffix-fallback.patch
# ugly hack to workaround disttag/distepoch pattern matching issue to buy some
# time to come up with better pattern fix..
# status: needs to be fixed properly, but can be merged upstream
Patch5: rpm-5.3.8-distepoch-pattern-hack.patch
# fixes a typo in russian translation (#62333)
Patch11: rpm-5.3.8-fix-russian-typo.patch
# status: needs to be pushed back to the Russian i18n project
Patch11: rpm-5.4.9-fix-russian-typo.patch
# temporary workaround for issues with file triggers firing multiple times and
# a huge memleak...
# DIE
Patch15: rpm-5.3.8-fire-file-triggers-only-once.patch
Patch19: rpm-5.3.10-doxygen-1.7.4-bug.patch
Patch20: rpm-5.3.11-fix-syslog-b0rkage.patch
# status: keep as mandriva specific for now
Patch21: rpm-5.3.12-change-dep-loop-errors-to-warnings.patch
# status: need to be revisited and made sure that we get the correct behaviour,
# regression tests certainly required
Patch22: rpm-5.3.12-55810-rpmevrcmp-again-grf.patch
Patch28: rpm-5.4.4-merge-find-lang.sh-changes-from-rpm.org.patch
# status: ready to merge, it's already been merged on HEAD, so commiting it to rpm-5_4
# would basically just mean backporting it..
Patch29: rpm-5.4.4-add-_specfile-macro.patch
Patch30: rpm-5.4.4-fix-rpm-qf-on-non-packaged-files.patch
Patch31: rpm-5.4.4-fix-rpm_qa-pattern.patch
# status: ready for merge
Patch31: rpm-5.4.9-fix-rpm_qa-pattern.patch
# uhm.. broken?
# status: this one was fixed for real in 5.3.12, but I forgot commiting it
# on rpm-5_4 branch back then, and I've been unable to remember and not
# bothered figuring out what was wrong..
Patch32: rpm-5.4.4-really-always-invoke-clean-at-end.patch
Patch33: rpm-5.4.4-fix-mdvbz62979.patch
# status: i18n strings is getting dropped, so this one might be of less relevance,
# but feel free to discuss it on rpm-devel
Patch33: rpm-5.4.9-fix-mdvbz62979.patch
# This patch adds support for untangling dependency loops with prioritized removal
# of dependencies from loops. It's very crude for now and certainly needs some obvious
# improvement, but it'll fix the most common scenario giving issues where ie.
# Requires(post) has been used and shouldn't introduce any regressions..
# REF: http://rpm5.org/community/rpm-devel/4633.html
# status: needs to be finished and probably rewrite the implementation,
# so keep locally for now, but feel free to discuss it on rpm-devel if you run out
# of things to do.. :p
Patch34: rpm-5.4.4-use-dependency-type-for-ordering.patch
Patch35: rpm-5.4.4-find_lang-with-html.patch
Patch36: rpm-5.4.4-find_lang-support-multiple-names.patch
Patch37: rpm-5.4.5-avoid-dependencies-on-self.patch
Patch38: rpm-5.4.4-find_lang-handle-man-pages-already-compressed.patch
Patch39: rpm-5.4.4-find-debuginfo-drop-useless-sort.patch
# status: needs to be cleaned up and properly reviewed together with rest
# of the patches related to dependency generation
Patch37: rpm-5.4.9-avoid-dependencies-on-self.patch
# status: probably ready to merge
Patch40: rpm-5.4.4-pkgconfigdeps-check-path.patch
Patch41: rpm-5.4.4-merge-manbo-macros.patch
# status: probably okay to merge, but discuss on rpm-devel first
Patch42: rpm-5.4.4-glob-wildcards-for-loading-macro-files.patch
Patch43: rpm-5.4.4-merge-common-rpm-mandriva-setup-macros.patch
Patch44: rpm-5.4.4-use-xz-payload.patch
Patch45: rpm-5.4.4-merge-rpm-mandriva-setup-build-macros.patch
# status: needs to be discussed
Patch46: rpm-5.4.4-allow-installation-of-repackaged-rpms.patch
# status: same as for other dependency generation related patches
Patch47: rpm-5.4.4-fix-removal-of-overlapping-dependencies.patch
# status: ready to merge
Patch48: rpm-5.4.8-dont-show-suggests-with-requires.patch
# syncing debugedit commits from rpm.org
Patch49: rpm-5.4.4-debugedit-whitespace-fixups.patch
Patch50: rpm-5.4.4-debugedit-recompute-build-id-only-on-dwarf-change.patch
Patch51: rpm-5.4.4-debugedit-fix-incorrect-error-messages-regarding_-b-and_-d.patch
Patch52: rpm-5.4.4-debugedit-remove-unused-variable.patch
Patch53: rpm-5.4.4-debugedit-bail-out-of-debuginfo-if-stabs-format-encountered.patch
Patch54: rpm-5.4.4-debugedit-add-dwarf4-support.patch
# backport from HEAD
Patch55: rpm-5.4.4-find-debuginfo-strip-reloc-debug-sections.patch
Patch56: rpm-5.4.4-fix-scripts-breaking-when-RPM_BUILD_ROOT-contains-spaces.patch
Patch57: rpm-5.4.4-create-gdb-index-from-find-debuginfo-if-possible.patch
Patch58: rpm-5.4.4-use-dwarf4-debug-format.patch
Patch59: rpm-5.4.4-compress-debug-sections.patch
Patch60: rpm-5.4.4-find-debuginfo-add-missing-partial-strip.patch
# status: almost ready for merge, the strip reloc flag to debugedit needs to be made
# conditional first in order to not break backwards compatibility with older elfutils versions
Patch55: rpm-5.4.9-find-debuginfo-strip-reloc-debug-sections.patch
# status: ready for merge
Patch61: rpm-5.4.4-fix-same-package-with-epoch-possible-to-upgrade.patch
Patch62: rpm-5.4.4-fix-_sys_macros_dir-path.patch
Patch63: rpm-5.4.4-strip-buildroot-away-from-duplicate-files-list.patch
Patch64: rpm-5.4.4-duplicate_files_terminate_build.patch
Patch65: rpm-5.4.4-unpackaged_subdirs_terminate_build.patch
# status: ready for merge
Patch63: rpm-5.4.9-strip-buildroot-away-from-duplicate-files-list.patch
# status: probably okay to merge, but discuss on rpm-devel first
Patch64: rpm-5.4.9-duplicate_files_terminate_build.patch
# status: same as above
Patch65: rpm-5.4.9-unpackaged_subdirs_terminate_build.patch
# mdvbz#64898
# status: uncertain, might be okay to merge, discuss on rpm-devel first
Patch66: rpm-5.4.4-rpmbuild-withoutclean.patch
# status: ready for merge
Patch67: rpm-5.4.4-find-debuginfo-avoid-excessive-output-from-eu-strip.patch
# mdvbz#64914
# status: ready for merging
Patch68: rpm-5.4.4-enable-rpmgio-net-transport.patch
# no sense in having an additional dependency on 'pkgconfig' on all packages that
# have a pkgconfig file, it's not needed for them to be made useful and anything
# actuallly using pkgconfig for this purpose will pull it in as a dependency anyways...
# status: might be okay to merge, but discuss on rpm-devel first
Patch69: rpm-5.4.4-drop-useless-auto-generated-pkgconfig-dependency.patch
# drop dependencies such as /bin/sh which will always be satisfied by glibc's dependency on
# bash, and also on /sbin/ldconfig which always will be satisfied by glibc
# status: should *NOT* be merged
Patch70: rpm-5.4.4-drop-base-dependencies.patch
# status: ready for merge
Patch71: rpm-5.4.4-fix-rpmconstant-to-always-use-LC_CTYPE-C-for-case-conversion.patch
# from rpm.org
# status: ready for merge
Patch72: rpm-5.4.4-debugedit-recognize-debug_macro-section.patch
# from rpm.org
Patch73: rpm-5.4.4-add-_build_pkgcheck.patch
# status: ready for merge
Patch73: rpm-5.4.9-add-_build_pkgcheck.patch
# $RPM_BUILD_DIR isn't necessarily the same as $PWD, it's %%{_builddir}, not
# %%{_builddir}/%%{?buildsubdir}, messing up paths in debug packages created..
# status: needs to be discussed and investigated a bit better..
Patch74: rpm-5.4.4-pass-_builddir-properly-to-find-debuginfo.patch
# status: ready for merge
Patch75: rpm-5.4.4-srcdefattr.patch
# status: probably okay to merge, but discuss on rpm-devel first
Patch76: rpm-5.4.4-files-listed-twice-terminates-build.patch
# status: don't merge
Patch77: rpm-5.4.7-use-bdb-5.2.patch
# status: probably okay to merge
Patch78: rpm-5.4.4-ruby1.9-fixes.patch
# mdvbz#65269
# status: same as for other dependency generation patches
Patch79: rpm-5.4.4-dont-consider-ranged-dependencies-as-overlapping-for-removal.patch
# status: ignoree for now
Patch81: rpm-5.4.5-libsql-conditional.patch
# status: ready for merge
Patch83: rpm-5.4.5-kmod-deps-xz-support.patch
Patch84: rpm-5.4.5-enable-internal-dependency-generator.patch
# status: same as for other dependency generation patches
Patch85: rpm-5.4.5-fix-removal-of-overlapping-dependencies-for-internal-dependency-generator.patch
# this updates to using the dependency generator shipped with mono, it has some
# issues which makes me cautious about actually merging it with rpm5 upstream,
# but we'll anyways use it as is for now to prevent any potential regressions
# by switching to the internal dependency generator
# status: shouldn't be merged as is
Patch86: rpm-5.4.5-update-mono-dependency-generator.patch
# status: probably okay to merge
Patch87: rpm-5.4.5-dont-generate-php-dependencies-only-when-executable.patch
# status: these three were lost on rpm-5_3 branch, so should be okay to merge
Patch88: rpm-5.4.5-patchset_16004.patch
Patch89: rpm-5.4.5-patchset_16005.patch
Patch90: rpm-5.4.5-patchset_16022.patch
Patch91: rpm-5.4.5-update-rpmfc-when-removing-dependencies-on-self.patch
Patch92: rpm-5.4.5-rpmfc-extract-dependencies-for-all-files.patch
# status: same as for other dep gen patches
Patch91: rpm-5.4.9-update-rpmfc-when-removing-dependencies-on-self.patch
# status: idem
Patch92: rpm-5.4.9-rpmfc-extract-dependencies-for-all-files.patch
# status: ready for merge
Patch93: rpm-5.4.5-rubygems-add-missing-newline.patch
Patch94: rpm-5.4.5-generate-haskell-dependencies.patch
# status: ugly, keep locally for now
Patch94: rpm-5.4.9-generate-haskell-dependencies.patch
# status: same as for other dep gen patches
Patch95: rpm-5.4.5-drop-some-interpreter-deps.patch
# status: probably okay to merge..
Patch96: rpm-5.4.5-fix-elf-interpreter-resolving-breaking-uclibc-deps.patch
# status: probably okay to merge
Patch97: rpm-5.4.5-set-proper-file-color-for-scripts-using-env-in-shellbang.patch
Patch98: rpm-5.4.5-update-rpmfc-when-removing-overlapping-dependencies.patch
# status: probably okay to merge
Patch99: rpm-5.4.5-python-export-spec-macros.patch
# status: same as for other dep gen patches
Patch100: rpm-5.4.5-do-not-merge-script-dependencies-with-non-script-dependencies.patch
Patch101: rpm-5.4.5-font-provides.patch
# status: idem
Patch101: rpm-5.4.9-font-provides.patch
# status: idem
Patch102: rpm-5.4.7-kmod-dependencies.patch
# status: idem
Patch103: rpm-5.4.5-desktop-provides.patch
# status: probably okay to merge, discuss on rpm-devel first
Patch104: rpm-5.4.5-skip-dependencies-for-character-devices.patch
# status: ready to merge
Patch105: rpm-5.4.5-rpmfc-use-strlen-not-sizeof.patch
# status: same as for other dep gen patches
Patch106: rpm-5.4.5-break-out-of-elf-link-loop.patch
# status: probably okay to merge
Patch107: rpm-5.4.5-rpmfc-apply-python-coloring-from-magic.patch
Patch108: rpm-5.4.5-fix-pythonegg-deps-for-egg-metadata-in-directories.patch
# status: same as for other dep gen patches
Patch109: rpm-5.4.5-fix-generation-of-uclibc-deps-on-non-lib64.patch
# status: idem
Patch110: rpm-5.4.7-only-generate-devel-deps-for-symlinks-start-with-lib.patch
Patch111: rpm-5.4.7-keep-loading-script-macros.patch
# status: keep locally
Patch111: rpm-5.4.9-keep-loading-script-macros.patch
# status: ready for merge
Patch112: rpm-5.4.7-use-gnu-hash-style-by-default-and-drop-rtld-dep.patch
Patch113: rpm-5.4.8-add-distepoch-rpmlib-feature.patch
Patch114: rpm-5.4.7-dont-add-versioneddependency-rpmlib-feature-dependency.patch
# status: keep locally only
Patch113: rpm-5.4.9-add-distepoch-rpmlib-feature.patch
# status: probably okay to merge, but discuss on rpm-devel first
Patch114: rpm-5.4.9-dont-add-versioneddependency-rpmlib-feature-dependency.patch
# status: ready to merge
Patch115: rpm-5.4.7-rpmfc-fix-invalid-free-if-not-_defaultdocdir-set.patch
# status: probably okay to merge
Patch116: rpm-5.4.7-dont-try-generate-rpmfc-dependencies-from-doc-files.patch
# status: ready to merge
Patch117: rpm-5.4.7-only-generate-ruby-and-python-deps-for-executables-and-modules.patch
# status: same as for other dep gen patches
Patch118: rpm-5.4.7-dont-generate-soname-provides-for-dsos-with-no-soname.patch
# status: ready
Patch119: rpm-5.4.7-fix-generation-of-ruby-abi-provides.patch
# status: same as for other dep gen patches
Patch120: rpm-5.4.7-print-name-of-files-removed-dependencies-are-generated-from.patch
# status: idem
Patch121: rpm-5.4.7-always-choose-equal-only-deps-when-overlapping.patch
# status: idem
Patch122: rpm-5.4.7-rpmfc-strdup-EVR-in-overlap-removal.patch
# status: idem
Patch123: rpm-5.4.7-rpmds-dont-try-fopen-empty-filenames.patch
# status: ready
Patch124: rpm-5.4.7-change-to-debuginfo-suffix.patch
# crash reproducable with 'rpm -qa --triggers'
# status: ready
Patch125: rpm-5.4.7-hdrfmt-fix-unitialized-argv-element.patch
Patch126: rpm-5.4.7-add-filetriggers-regex-matching-support.patch
Patch127: rpm-5.4.7-add-matches-as-arguments-to-triggers.patch
# status: probably okay to merge, discuss on rpm-devel first
Patch126: rpm-5.4.9-add-filetriggers-regex-matching-support.patch
# status: idem
Patch127: rpm-5.4.9-add-matches-as-arguments-to-triggers.patch
# status: same as for other dep gen patches
Patch128: rpm-5.4.7-dont-consider-trigger-dependencies-as-overlapping.patch
# status: ready
Patch129: rpm-5.4.7-fix-minor-memleaks.patch
Patch130: rpm-5.4.7-mire-fix-strings-lacking-null-terminator.patch
Patch131: rpm-5.4.8-dlopen-embedded-interpreters.patch
Patch132: rpm-5.4.7-rpmpython-fix-input.patch
# status: ready
Patch130: rpm-5.4.9-mire-fix-strings-lacking-null-terminator.patch
# status: keep locally for now
Patch131: rpm-5.4.9-dlopen-embedded-interpreters.patch
# status: ready
Patch132: rpm-5.4.9-rpmpython-fix-input.patch
# status: same as for other dep gen patches
Patch133: rpm-5.4.7-generate-devel-provides-outside-of-libdirs.patch
# status: ready
Patch134: rpm-5.4.7-actually-perform-linking-against-internal-lua.patch
# status: ready
Patch135: rpm-5.4.7-no-seqid_init-on-rdonly-database.patch
Patch136: rpm-5.4.7-add-support-for-using-rpmdsMerge-with-filepath-tags.patch
Patch137: rpm-5.4.7-avoid-double-slash-in-path-for-dirname-filetrigger-matching.patch
# status: same as for other dep gen patches
Patch136: rpm-5.4.9-add-support-for-using-rpmdsMerge-with-filepath-tags.patch
# status: probably ready for merging
Patch137: rpm-5.4.9-avoid-double-slash-in-path-for-dirname-filetrigger-matching.patch
# status: unfinished
Patch138: rpm-5.4.7-trigtrans.patch
Patch139: rpm-5.3.12-fix-verify-segfault.patch
# status: probably ready to merge, discuss on rpm-devel first
Patch139: rpm-5.4.9-fix-verify-segfault.patch
# status: keep locally
Patch140: rpm-5.4.7-rpmv3-support.patch
Patch141: rpm-5.4.7-revert-hash-instead-of-truncation.patch
# MD rediffed from upstream
Patch142: rpm-5.4.7_typelib.patch
# status: ready
Patch143: rpm-5.4.7-mono-find-requires-strip-newlines.patch
# status: ready
Patch144: rpm-5.4.8-URPM-build-fix.patch
# status: undefined
Patch145: rpm-5.4.8-add-armv7l-specific-macros.patch
# status: keep locally, might drop this one later..
Patch146: rpm-5.4.9-support-signatures-and-digest-disablers.patch
BuildRequires: autoconf >= 2.57
BuildRequires: bzip2-devel
@ -490,46 +576,21 @@ This package contains the RPM API documentation generated in HTML format.
%patch5 -p1 -b .distpatt~
%patch15 -p1 -b .trigger_once~
%endif
%patch19 -p1 -b .doxygen~
%patch20 -p1 -b .syslog~
#%%patch21 -p1 -b .loop_warnings~
#%%patch22 -p1 -b .55810~
#patch27 -p1 -b .mdv~
%patch28 -p1 -b .rpmorg~
%patch29 -p1 -b .specfile~
%patch30 -p1 -b .qf_non~
%patch31 -p1 -b .rpm_qa~
#%%patch32 -p1 -b .clean~
%patch33 -p1 -b .mdvbz62979~
%patch34 -p1 -b .ordering~
%patch35 -p1 -b .html~
%patch36 -p1 -b .multi~
%patch37 -p1 -b .drop_deps~
%patch38 -p1 -b .man_comp~
%patch39 -p1 -b .no_sort~
%patch40 -p1 -b .pc_paths~
%patch41 -p1 -b .manbo~
%patch42 -p1 -b .glob~
%patch43 -p1 -b .common~
%patch44 -p1 -b .payload~
%patch45 -p1 -b .build~
%patch46 -p1 -b .repackage~
%patch47 -p1 -b .overlap~
%patch48 -p1 -b .suggests~
%patch49 -p1 -b .debugedit_whitespace~
%patch50 -p1 -b .debugedit_recompute~
%patch51 -p1 -b .debugedit_errormsgs~
%patch52 -p1 -b .debugedit_unused_var~
%patch53 -p1 -b .debugedit_stabs_fail~
%patch54 -p1 -b .debugedit_dwarf4~
%patch55 -p1 -b .strip_reloc_debug~
%patch56 -p1 -b .quotes~
%patch57 -p1 -b .gdb_index~
%patch58 -p1 -b .dwarf4~
%patch59 -p1 -b .compress_debug~
%patch60 -p1 -b .partial_strip~
%patch61 -p1 -b .epoch_cmp~
%patch62 -p1 -b ._sys_macros_dir~
%patch63 -p1 -b .buildroot_dups~
%patch64 -p1 -b .dups_terminate~
%patch65 -p1 -b .subdir_terminate~
@ -549,7 +610,6 @@ This package contains the RPM API documentation generated in HTML format.
%patch79 -p1 -b .range_nooverlap~
#patch81 -p1 -b .libsql~
%patch83 -p1 -b .kmod_xz~
%patch84 -p1 -b .int_dep_gen~
%patch85 -p1 -b .int_gen_overlap~
%patch86 -p1 -b .mono_deps_new~
%patch87 -p1 -b .php_dep_gen~
@ -573,7 +633,6 @@ This package contains the RPM API documentation generated in HTML format.
%patch105 -p1 -b .sizeof~
%patch106 -p1 -b .link_loop~
%patch107 -p1 -b .python_color~
%patch108 -p1 -b .pyegg_nodirs~
%patch109 -p1 -b .uclibc_nolib64~
%patch110 -p1 -b .req_devel~
%patch112 -p1 -b .gnu_hash~
@ -605,15 +664,15 @@ This package contains the RPM API documentation generated in HTML format.
#patch138 -p1 -b .trigtrans~
%patch139 -p1 -b .fix_verify~
%patch140 -p1 -b .rpmv3~
%patch141 -p1 -b .dev_unfuck~
%patch142 -p1 -b .typelib~
%patch143 -p1 -b .mono_newline~
%patch144 -p1 -b .urpm~
%patch146 -p1 -b .nosig~
#required by P55, P80, P81, P94..
./autogen.sh
mkdir -p cpu-os-macros
tar -zxf %{SOURCE3} -C cpu-os-macros
%patch145 -p1
%build
%configure2_5x --enable-nls \
@ -694,6 +753,9 @@ tar -zxf %{SOURCE3} -C cpu-os-macros
--without-sqlite \
%endif
%if %{with ossp_uuid}
%if 0
# TODO: needs to be fixed properly for automatic detection in internal lua build
%endif
--with-uuid=%{_libdir}:%{_includedir}/ossp-uuid \
%else
--without-uuid \
@ -771,7 +833,7 @@ done
%find_lang %{name}
mkdir -p %{buildroot}/var/lib/rpm/{log,tmp}
for dbi in `./rpm --macros macros/macros --eval %_dbi_tags_4|tr : ' '` Seqno __db.00{0..9}; do
for dbi in `./rpm --macros macros/macros --eval %_dbi_tags_4|tr : ' '` __db.00{0..9}; do
touch %{buildroot}/var/lib/rpm/$dbi
echo "%attr(0644, root, root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) %{_localstatedir}/lib/rpm/$dbi" >> %{name}.lang
done
@ -887,6 +949,7 @@ install -d %{buildroot}%(linux32 rpm -E %%{multiarch_includedir})
%{_bindir}/multiarch-platform
#%%{_rpmhome}/bin/abi-compliance-checker.pl
%{_rpmhome}/bin/api-sanity-autotest.pl
%{_rpmhome}/bin/api-sanity-checker.pl
%{_rpmhome}/bin/dbsql
%{_rpmhome}/bin/debugedit
%{_rpmhome}/bin/install-sh
@ -1042,6 +1105,25 @@ install -d %{buildroot}%(linux32 rpm -E %%{multiarch_includedir})
%changelog
* Thu May 17 2012 Per Øyvind Karlsen <peroyvind@mandriva.org> 1:5.4.9-2
+ Revision: 799292
- add back fix for 'rpm -qa \*foo\*' which were wrongly assumed to have been
merged upstream
* Thu May 17 2012 Per Øyvind Karlsen <peroyvind@mandriva.org> 1:5.4.9-1
+ Revision: 799275
- support signature & digest disablers
- Seqno is now part of %%_dbi_tags_4, so be sure to not make it duplicate in
%files list
- rebase on rpm 5.4.9 (tons of patches merged upstream, beware of possible
regressions..)
- prepare and comment with instructions and status for mdawkins to take care
of upstream merging :)
+ Franck Bui <franck.bui@mandriva.com>
- clean up the armv7l macro file so it contains target-specific macros only
- Add armv7l specific macros
* Wed Apr 25 2012 Per Øyvind Karlsen <peroyvind@mandriva.org> 1:5.4.8-1
+ Revision: 793419
- fix lua ossp-uuid as well