Patch: Add %_specfile macro

2013-08-26 Thread Per Øyvind Karlsen
This one has been commited by devzero2000 (IIRC) on HEAD branch, but not in
rpm-5_4.

It simply adds a %_specfile macro to get the file name of the spec file
parsed.

--
Regards,
Per Øyvind


rpm-5.4.4-add-_specfile-macro.patch
Description: Binary data


Fix rpm -qa \*foo\*

2013-08-26 Thread Per Øyvind Karlsen
The following patch fixes querying rpmdb with wildcards, whereas without
this fix, it'll return all entries and not just those matching.

--
Regards,
Per Øyvind


rpm-5.4.9-fix-rpm_qa-pattern.patch
Description: Binary data


Support for terminate build on duplicate files

2013-08-26 Thread Per Øyvind Karlsen
This patch enables termination of build on duplicate files by setting
%_duplicate_files_terminate_build .

--
Regards,
Per Øyvind


rpm-5.4.10-duplicate_files_terminate_build.patch
Description: Binary data


Don't display suggests with --requires

2013-08-26 Thread Per Øyvind Karlsen
This patch fixes so that soft dependencies won't be displayed with 'rpm -q
--requires', only with 'rpm -q --suggests'

--
Regards,
Per Øyvind


rpm-5.4.8-dont-show-suggests-with-requires.patch
Description: Binary data


Silence excessive output from eu-strip

2013-08-26 Thread Per Øyvind Karlsen
This patch silences excessive output from eu-strip during find-debuginfo.sh
usage.

--
Regards,
Per Øyvind


rpm-5.4.4-find-debuginfo-avoid-excessive-output-from-eu-strip.patch
Description: Binary data


Some ruby 1.9 fixes

2013-08-26 Thread Per Øyvind Karlsen
This patch fixes compatibility with ruby 1.9.

--
Regards,
Per Øyvind


rpm-5.4.9-ruby1.9-fixes.patch
Description: Binary data


Don't include buildroot in list of duplicate files printed

2013-08-26 Thread Per Øyvind Karlsen
This patch will strip away the buildroot prefix for duplicate files listed,
providing greater consistency with behaviour otherwise.

--
Regards,
Per Øyvind


rpm-5.4.9-strip-buildroot-away-from-duplicate-files-list.patch
Description: Binary data


Re: Fix rpm -qa \*foo\*

2013-08-26 Thread Jeffrey Johnson

On Aug 26, 2013, at 2:19 PM, Per Øyvind Karlsen wrote:

 The following patch fixes querying rpmdb with wildcards, whereas without this 
 fix, it'll return all entries and not just those matching.
 

The issue of wildcard queries is/was discussed years ago when implemented, and 
the  behavior
implemented is/was as decided (for legacy compatible and principle of least 
surprise reasons)
at the time.

Discuss the feature, providing explicit usage cases and tests, under the 
existing CI framework
if you wish the patch applied upstream @rpm5.org. I need to see consensus, 
not de facto,
before enabling wild hacks (other than my own) in RPM releases.

I personally have no interest in enabling foolish/sloppy queries on a random 
feature walk through
patch streams of unknown viability, and poorly understood consequences, 
@rpm5.org, particularly
when I am obligated to do the maintenance work to respond to future flaws and 
objections of other people's
efforts.

Last I heard you were too discouraged to undertake the reasonably sane 
effort(s) that
are needed ... YMMV.

Short answer (which I have said many times already):
A blueprint at http://launchpad.net/rpm is the starting point for new 
feature deployment.

73 de Jeff__
RPM Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Fix incorrect sizeof usage to get string length

2013-08-26 Thread Per Øyvind Karlsen
This patch fixes an incorrect attempt to get the string length with sizeof
on a string allocated on the heap.

--
Regards,
Per Øyvind


rpm-5.4.12-rpmfc-use-strlen-not-sizeof.patch
Description: Binary data


Support terminate build on files listed twice.

2013-08-26 Thread Per Øyvind Karlsen
This patch adds support for termination builds with files listed twice by
setting %_files_listed_twice_terminate_build

--
Regards,
Per Øyvind


rpm-5.4.10-files-listed-twice-terminates-build.patch
Description: Binary data


Only generate ruby and python deps for executables and modules

2013-08-26 Thread Per Øyvind Karlsen
This patch will make the dependency generator only generate ruby and python
dependencies for executable and modules, this way preventing dependencies
being generated for such as ie. private python files shipped with some
package at some non-standard location, not meant to be available/exported
for other use by other software.

--
Regards,
Per Øyvind


rpm-5.4.7-only-generate-ruby-and-python-deps-for-executables-and-modules.patch
Description: Binary data


Re: Don't display suggests with --requires

2013-08-26 Thread Jeffrey Johnson

On Aug 26, 2013, at 2:21 PM, Per Øyvind Karlsen wrote:

 This patch fixes so that soft dependencies won't be displayed with 'rpm -q 
 --requires', only with 'rpm -q --suggests'
 

This patch can be done (by masking RPMSENSE_MISSINGOK using awk) without
changing any C code.

I'm also very reluctant to change existing/useful behavior of --requires with
grep -v because it breaks compatibility behavior (that I rely on while 
developing)
on systems with @rpm.org installed.

73 de Jeff

 --
 Regards,
 Per Øyvind
 rpm-5.4.8-dont-show-suggests-with-requires.patch

__
RPM Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: Fix rpm -qa \*foo\*

2013-08-26 Thread Per Øyvind Karlsen
2013/8/26 Jeffrey Johnson n3...@me.com


 On Aug 26, 2013, at 2:19 PM, Per Øyvind Karlsen wrote:

  The following patch fixes querying rpmdb with wildcards, whereas without
 this fix, it'll return all entries and not just those matching.
 

 The issue of wildcard queries is/was discussed years ago when implemented,
 and the  behavior
 implemented is/was as decided (for legacy compatible and principle of
 least surprise reasons)
 at the time.

 Discuss the feature, providing explicit usage cases and tests, under the
 existing CI framework
 if you wish the patch applied upstream @rpm5.org. I need to see
 consensus, not de facto,
 before enabling wild hacks (other than my own) in RPM releases.

We actually discussed this one quite a while a ago, where you acknowledged
it yourself (the regression were introduced here:
http://rpm5.org/cvs/chngview?cn=16299 )

I've provided you with a trivial reproducer, but considering the large
amount of patches I have in queue, I don't really have the time nor that
much incentive for starting on writing accompanying regression tests,
especially not when I'm not overly existed about how the current regression
tests are implemented/maintained, nor is my motivation for writing
regression tests for (yet a bunch of) bug fix patches I maintain locally
for a package.
If commit access were restored, doing more of that kind maintenance work
again would be of greater interest, but when not, I'm not very eager to
take on responsibilities with the resulting tediousness..


 I personally have no interest in enabling foolish/sloppy queries on a
 random feature walk through
 patch streams of unknown viability, and poorly understood consequences, @
 rpm5.org, particularly
 when I am obligated to do the maintenance work to respond to future flaws
 and objections of other people's
 efforts.

 Last I heard you were too discouraged to undertake the reasonably sane
 effort(s) that
 are needed ... YMMV.

And I'm now trying to, am I not? :)
Seriously speaking, a lot of things came up and in the way for things, but
I will at least sporadically be trying to push all ~fixes for now, then get
back to ~features etc. with blueprints provided and code cleaned up
whenever I find the time. :)


 Short answer (which I have said many times already):
 A blueprint at http://launchpad.net/rpm is the starting point for
 new feature deployment.

This isn't a feature, but rather a bug fix.

--
Regards,
Per Øyvind


Change default package suffix for debug packages to -debuginfo

2013-08-26 Thread Per Øyvind Karlsen
As -debuginfo is the most commonly used suffix for debug packages, there's
also code with special behaviour for naming convention (see lib/dependens.c
where '-debuginfo' rather than '-debug' is used, not to forget other
software such as ie. gdb etc. also that expects this), this patch changes
the default to -debuginfo.

--
Regards,
Per Øyvind


rpm-5.4.7-change-to-debuginfo-suffix.patch
Description: Binary data


Re: Don't display suggests with --requires

2013-08-26 Thread Per Øyvind Karlsen
2013/8/26 Jeffrey Johnson n3...@me.com


 On Aug 26, 2013, at 2:21 PM, Per Øyvind Karlsen wrote:

  This patch fixes so that soft dependencies won't be displayed with 'rpm
 -q --requires', only with 'rpm -q --suggests'
 

 This patch can be done (by masking RPMSENSE_MISSINGOK using awk) without
 changing any C code.

Feel free to provide a better solution. :)


 I'm also very reluctant to change existing/useful behavior of --requires
 with
 grep -v because it breaks compatibility behavior (that I rely on while
 developing)
 on systems with @rpm.org installed.

IIRC rpm.org hasn't implemented support for RPMSENSE_MISSINGOK on
dependencies, have they?
Ie. isn't there's some incompatibilities in place already? :o)

Well, you know better than me, at least behaviour introduced by this patch
is what's been preferred by cooker users. :)

--
Regards,
Per Øyvind


Re: Don't include buildroot in list of duplicate files printed

2013-08-26 Thread Jeffrey Johnson

On Aug 26, 2013, at 2:24 PM, Per Øyvind Karlsen wrote:

 This patch will strip away the buildroot prefix for duplicate files listed, 
 providing greater consistency with behaviour otherwise.
 

While the approach is sensible, the deeper flaw is that duplicate
file checks added by Alexey Tourbin around the time of rpm-5.1.9
release do not scale.

Far deeper changes than cosmetically stripping a builroot path are
needed, likely with Bloom filters attached to all the binary packages
produced in a build, so that

/**
 * Return intersection of two Bloom filters.
 * @retval aBloom filter
 * @param b Bloom filter
 * @return  0 on success, -1 if {m,k} disagree or NULL pointers.
 */
int rpmbfIntersect(rpmbf a, const rpmbf b)
/*@modifies a @*/;

can be used to detect duplicate (and similarly shared/conflicting) files.

Build a kernel package (which has many more paths than most packages)
and time the additional checks added by Alexey Tourbin if you wish
to see the scaling problem in the existing implementation.

Or try building tests/millionfile-insanity.spec to measure the cost of
the added checks.

Note that the check sadded by Alexey are useful: my only objection is
that the implementation did not (and does not) scale with lots of files.

73 de Jeff

 --
 Regards,
 Per Øyvind
 rpm-5.4.9-strip-buildroot-away-from-duplicate-files-list.patch

__
RPM Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Make sure hdrfmt argv element is initialized

2013-08-26 Thread Per Øyvind Karlsen
This patch should be pretty self-explaining.. :)

--
Regards,
Per Øyvind


rpm-5.4.7-hdrfmt-fix-unitialized-argv-element.patch
Description: Binary data


Re: Don't include buildroot in list of duplicate files printed

2013-08-26 Thread Per Øyvind Karlsen
2013/8/26 Jeffrey Johnson n3...@me.com


 On Aug 26, 2013, at 2:24 PM, Per Øyvind Karlsen wrote:

  This patch will strip away the buildroot prefix for duplicate files
 listed, providing greater consistency with behaviour otherwise.
 

 While the approach is sensible, the deeper flaw is that duplicate
 file checks added by Alexey Tourbin around the time of rpm-5.1.9
 release do not scale.

 Far deeper changes than cosmetically stripping a builroot path are
 needed, likely with Bloom filters attached to all the binary packages
 produced in a build, so that

 /**
  * Return intersection of two Bloom filters.
  * @retval aBloom filter
  * @param b Bloom filter
  * @return  0 on success, -1 if {m,k} disagree or NULL
 pointers.
  */
 int rpmbfIntersect(rpmbf a, const rpmbf b)
 /*@modifies a @*/;

 can be used to detect duplicate (and similarly shared/conflicting) files.

 Build a kernel package (which has many more paths than most packages)
 and time the additional checks added by Alexey Tourbin if you wish
 to see the scaling problem in the existing implementation.

 Or try building tests/millionfile-insanity.spec to measure the cost of
 the added checks.

 Note that the check sadded by Alexey are useful: my only objection is
 that the implementation did not (and does not) scale with lots of files.

I can't remember whether I've even actually run into any problems related
to this myself, but on a related note, the unpackage sub directory check is
very often giving false positives..
I have a patch to add support termination of build on unpackaged sub
directories, but considering that the check isn't reliable, I've left it
disabled by default, but I'll attach the patch none the less.

--
Regards,
Per Øyvind


rpm-5.4.10-unpackaged_subdirs_terminate_build.patch
Description: Binary data


Fix minor memlead

2013-08-26 Thread Per Øyvind Karlsen
The following patch fixes a couple of minor memleaks.

--
Regards,
Per Øyvind


rpm-5.4.7-fix-minor-memleaks.patch
Description: Binary data


Fix miRE strings lacking null terminator

2013-08-26 Thread Per Øyvind Karlsen
This patch ensures that strings has a null terminator at end, otherwise
strings passed to mireRegexec might be missing it.

--
Regards,
Per Øyvind


rpm-5.4.9-mire-fix-strings-lacking-null-terminator.patch
Description: Binary data


Fix typo in rpmtag.h

2013-08-26 Thread Per Øyvind Karlsen
Requires no explanation..

--
Regards,
Per Øyvind


rpm-5.4.9-fix-typo-in-rpmtag-header.patch
Description: Binary data


Fix a couple of debugedit memleaks

2013-08-26 Thread Per Øyvind Karlsen
Simple enough..

--
Regards.
Per Øyvind


rpm-5.4.10-fix-a-couple-of-debugedit-memleaks.patch
Description: Binary data


Re: Support for terminate build on duplicate files

2013-08-26 Thread Jeffrey Johnson

On Aug 26, 2013, at 2:25 PM, Per Øyvind Karlsen wrote:

 This patch enables termination of build on duplicate files by setting 
 %_duplicate_files_terminate_build .
 

This (and many other patches of yours) merely detect flaws which
all have fairly simple resolutions that could be fully automated,
not just terminating a build, creating a support issue, training
up package monkeys to conform with mysterious distro packaging
policies, etc.

RPM is hard enough to use without creating quality assurance
mechanisms and infrastructure that can be (and often are) disabled
to Get The Job Done.

rpmbuild seemed to be The Right Place to add additional bui9ld
checks, like automating rpmlint. The rationale for augmenting
rpmbuild was to detect problems earlier as part of the complex
processes by which linux distros distribute packages.

The problem with adding additional enforcing quality assurance
checks to rpmbuild is that rpmbuild does not behave the same when
additional checks are enabled/disabled.

There are also no clearly better build process controls around imho. And
that is watching your efforts in ROSA/OMA to improve package quality with 
rpmlint
metrics and a score of 50 used as a threshhold rejection criteria.

Instead, all that happens is that a support issue, and a frequently asked 
question,
is created
How do I disable these checks?

The better approach (for simple problems like duplicate files) is to implement
a resolution mechanism. There are certainly no consequences (which is
why duplicate files is implemented as a warning, not an error, where this
patch just adds FULLSTOP configurable rejection criteria to rpmbuild that
is specific to distros and cannot be generally enabled/distributed with rpm).

There is also no reason whatsoever why automation on %files manifests cannot
be undertaken outside of rpmbuild using rpm -qlvp markup to mass change
entire distro build recipes. Adding patches to rpmbuild which are normally
disabled in distributed rpm releases just delays, not enhances, existing
distro build systems).

73 de Jeff
 --
 Regards,
 Per Øyvind
 rpm-5.4.10-duplicate_files_terminate_build.patch

__
RPM Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Fix tagSwab handling of RPM_UINT64_TYPE

2013-08-26 Thread Per Øyvind Karlsen
This patch fixes tagSwab() to work with RPM_UINT64_TYPE.

I'm not sure why it's not using newer functions (ie. from endian(3)) with
support for 64 integers rather than using two 32 bit integers, but I guess
it might be related to legacy compatibility..?
And if so, is it still relevant, or should code be updated?
(I first did the fix with 64 bit swab function, but then figured that it
might not be all too welcome upstream)

Oh well, either way, this patch makes it anyways work though. :)

--
Regards,
Per Øyvind


rpm-5.4.10-fix-64bit-tagSwab.patch
Description: Binary data


Strip newlines from mono requires

2013-08-26 Thread Per Øyvind Karlsen
This patch strips newlines for mono dependencies generated that really
shouldn't be there.. ;)

--
Regards.
Per Øyvind


rpm-5.4.7-mono-find-requires-strip-newlines.patch
Description: Binary data


Re: Silence excessive output from eu-strip

2013-08-26 Thread Jeffrey Johnson
The existing behavior of find-debuginfo.sh is already
configurable: there is no One True Answer, nor is there
any benefit to cosmetically removing errors from eu-strip.

The far deeper flaw is that package executables are stripped multiple times
even if no one has noticed.

The entire means by which ELF executables are stripped (and -debuginfo
packages are automatically produced) is overly complex and fragile
when implemented through helper scripts.

The better approach imho is to reimplement stripping/debuginfo production
directly in RPM, which has linked against elfutils libraries since elfutils
was written.

There's nothing particularly hard about stripping/debuginfo, but the
existing mechanisms are rather gross and cumbersome.

73 de Jeff

On Aug 26, 2013, at 2:27 PM, Per Øyvind Karlsen wrote:

 This patch silences excessive output from eu-strip during find-debuginfo.sh 
 usage.
 
 --
 Regards,
 Per Øyvind
 rpm-5.4.4-find-debuginfo-avoid-excessive-output-from-eu-strip.patch

__
RPM Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Fix rpm --verify segfault

2013-08-26 Thread Per Øyvind Karlsen
This fixes a segfault with --verify (IIRC on packages signed with old
signature type).

The bug is discussed at https://qa.mandriva.com/show_bug.cgi?id=64378

No definite consensus were ever achieved in previous discussions about the
correct fix for this bug, but the patch does at least work (tm) ;)

--
Regards,
Per Øyvind


rpm-5.4.9-fix-verify-segfault.patch
Description: Binary data


Don't remap i18n trings if enabled

2013-08-26 Thread Per Øyvind Karlsen
This patch disables remapping of i18n strings if support of is enabled.
Considering i18n strings are getting phased out, the importance of this
patch is of course rather diminishing, but at least it does fix what it's
supposed to fix. :)

--
Regards,
Per Øyvind


rpm-5.4.9-dont-remap-i18n-strings-if-enabled.patch
Description: Binary data


Re: Some ruby 1.9 fixes

2013-08-26 Thread Jeffrey Johnson

On Aug 26, 2013, at 2:30 PM, Per Øyvind Karlsen wrote:

 This patch fixes compatibility with ruby 1.9.
 

There are far far far deeper issues with ruby 1.8.x != 1.9.x behavior
that need to be addressed.

There is no consensus (no even a goal) stated that might lead to
a more useful implementation. Instead there are gobs of macro magic
glue to enable/disable and otherwise diddle up band-aids to a fundamentally
flawed approach.

Please read my comments (Sept 2009 iirc, +/- a year, was September)
on rpm-devel@rpm5.org on fundamental design differences between
embedding (as undertaken by me @rpm5.org) and bindings for a build
system in ruby (as my existing implementation was (ab)used for).

I see no rational way to extend RPM+RUBY usefully and portably by
applying Yet More Macro Madness (in distro-du-jour dialect), with
known and large differences in embedding behavior between
ruby 1.8.x != 1.9.x implementations, particularly when all the
cool kids interest is in creating a native ruby packaging system,
not in devising more standard ruby *.rpm packaging.

YMMV

73 de Jeff

 --
 Regards,
 Per Øyvind
 rpm-5.4.9-ruby1.9-fixes.patch

__
RPM Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Avoid double slashes in path for dirname trigger matching

2013-08-26 Thread Per Øyvind Karlsen
This patch ensures that double '/' doesn't end up in dirname paths triggers
matched against.

--
Regards,
Per Øyvind


rpm-5.4.9-avoid-double-slash-in-path-for-dirname-filetrigger-matching.patch
Description: Binary data


Don't try generate rpmfc dependencies from doc files

2013-08-26 Thread Per Øyvind Karlsen
This patch prevents automatic dependencies from being generated for doc
files.

--
Regards,
Per Øyvind


rpm-5.4.12-dont-try-generate-rpmfc-dependencies-from-doc-files.patch
Description: Binary data


Skip dependencies for block character devices

2013-08-26 Thread Per Øyvind Karlsen
This patch prevents dependencies being generated for block  character
devices.

--
Regards,
Per Øyvind


rpm-5.4.5-skip-dependencies-for-character-devices.patch
Description: Binary data


Actually link against internal lua

2013-08-26 Thread Per Øyvind Karlsen
This patch fixes an issue with internal lua not being linked against even
if enabled.

--
Regards,
Per Øyvind


rpm-5.4.7-actually-perform-linking-against-internal-lua.patch
Description: Binary data


Apply python coloring from magic

2013-08-26 Thread Per Øyvind Karlsen
Add missing string reported by libmagic on some python files.

--
Regards,
Per Øyvind


rpm-5.4.5-rpmfc-apply-python-coloring-from-magic.patch
Description: Binary data


Don't add rpmlib(VersionedDependencies) feature dependency

2013-08-26 Thread Per Øyvind Karlsen
This patch comes from some discussion of ours longlong time ago about there
no longer being any need for the rpmlib(VersionedDependencies) feature
dependency..

So as I understood from you it being of no use, I yanked it locally in
cooker at least.. :)

--
Regards,
Per Øyvind


rpm-5.4.9-dont-add-versioneddependency-rpmlib-feature-dependency.patch
Description: Binary data


Don't generate php dependencies on only executable php scripts

2013-08-26 Thread Per Øyvind Karlsen
Subject says it all..


rpm-5.4.5-dont-generate-php-dependencies-only-when-executable.patch
Description: Binary data


Re: Fix incorrect sizeof usage to get string length

2013-08-26 Thread Jeffrey Johnson

On Aug 26, 2013, at 2:36 PM, Per Øyvind Karlsen wrote:

 This patch fixes an incorrect attempt to get the string length with sizeof on 
 a string allocated on the heap.
 

The line numbers and code both indicate that this patch
is not against rpm5.org code.

The proper fix here (imho) is _NOT_ to implement filtering policies
(in this case perl only) for automagically filtering %defaultdocdir paths out 
of the
set of executable files from which rpm dependencies are extracted.

One approach (which I have pointed out to you and ROSA/Cooker developers
several times) would be to steal the existing configurable hierarchy for 
enabling/disabling
dependency extraction (though there is really little difference in 
compiling/reading various
patterns, the whole idea that MIME suffixes and paths can be used as filtering 
policy
hints is fundamentally flawed and non-portable).

The value of checking %defaultdocdir is also fundamentalkly broken since
there are many, not just one, path prefixes which cause files to automagically
acquire a %doc attribute. The only reason for permitting the change where
this flaw resides was to squash endless repeated complaints about
RPM sux because it finds dependencies in %doc files!
when there already exist several mechanisms/answers to the issue including
chmod -x /usr/share/doc/*.pl
and
Don't put *.pl scripts in /usr/share/doc/*/ directories.
that are adequate.

Meanwhile I've fixed the de facto equivalent flaw in lib/rpmfc.c.
Odd that coverity did not detect the flaw, but perhaps I wasn't
paying attention at the time.

73 de Jeff

 --
 Regards,
 Per Øyvind
 
 rpm-5.4.12-rpmfc-use-strlen-not-sizeof.patch

__
RPM Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


find-debuginfo.sh: strip reloc debug sections

2013-08-26 Thread Per Øyvind Karlsen
Here's a patch from devzero2000 that got lost on HEAD...

--
Regards,
Per Øyvind


rpm-5.4.9-find-debuginfo-strip-reloc-debug-sections.patch
Description: Binary data


Set proper file color for scripts using env in shellbang

2013-08-26 Thread Per Øyvind Karlsen
I'm almost done with the first round of pushing (mainly ~pure) bug
fix(/more trivial) patches for now..

--
Regards,
Per Øyvind


rpm-5.4.5-set-proper-file-color-for-scripts-using-env-in-shellbang.patch
Description: Binary data


Re: Only generate ruby and python deps for executables and modules

2013-08-26 Thread Jeffrey Johnson
See my other comments regarding
path based filtering, all of which is non-portable
even in linux, where paths/needs are on a de facto per-interpreter,
per-distro, and per-FHS-version basis.

General rule based  filtering on content (i.e. using man 5 magic strings), or 
a more
general configuration mechanism, needs to be attempted.

I also see little need to expose (as @rpm.org has done) configuration that
hardly anyone changes, and the need for changes is often measured in
years, where a later version of RPM could easily be deployed).

Short answer:
Not the right fix. *shrug*

73 de Jeff
On Aug 26, 2013, at 2:57 PM, Per Øyvind Karlsen wrote:

 This patch will make the dependency generator only generate ruby and python 
 dependencies for executable and modules, this way preventing dependencies 
 being generated for such as ie. private python files shipped with some 
 package at some non-standard location, not meant to be available/exported for 
 other use by other software.
 
 --
 Regards,
 Per Øyvind
 rpm-5.4.7-only-generate-ruby-and-python-deps-for-executables-and-modules.patch

__
RPM Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Update brp-compress with support for xz/lzma compression

2013-08-26 Thread Per Øyvind Karlsen
This patch adds support for compressing man  info pages with xz or lzma
compression.

--
Regards,
Per Øyvind


rpm-5.4.10-update-and-use-brp-compress.patch
Description: Binary data


Fix neon saving error pages as target file

2013-08-26 Thread Per Øyvind Karlsen
This patch fixes neon saving error pages when encountered to target file.

I'm not entirely sure if this is the *correct* way to fix it though, but at
least it does work... ;)

On a related note, is neon failing to download whenever being redirected
(ie. when downloading from sourceforge.net) a known issue?

--
Regards,
Per Øyvind


rpm-5.4.10-fix-neon-saving-error-pages-as-target-file.patch
Description: Binary data


Re: Fix rpm -qa \*foo\*

2013-08-26 Thread Jeffrey Johnson

On Aug 26, 2013, at 2:51 PM, Per Øyvind Karlsen wrote:

 2013/8/26 Jeffrey Johnson n3...@me.com
 
 On Aug 26, 2013, at 2:19 PM, Per Øyvind Karlsen wrote:
 
  The following patch fixes querying rpmdb with wildcards, whereas without 
  this fix, it'll return all entries and not just those matching.
 
 
 The issue of wildcard queries is/was discussed years ago when implemented, 
 and the  behavior
 implemented is/was as decided (for legacy compatible and principle of 
 least surprise reasons)
 at the time.
 
 Discuss the feature, providing explicit usage cases and tests, under the 
 existing CI framework
 if you wish the patch applied upstream @rpm5.org. I need to see 
 consensus, not de facto,
 before enabling wild hacks (other than my own) in RPM releases.
 We actually discussed this one quite a while a ago, where you acknowledged it 
 yourself (the regression were introduced here: 
 http://rpm5.org/cvs/chngview?cn=16299 )
 

Everyone's opinions -- including mine -- change with experience.

Expecting me to remember and be consistent with a patch
from 2y ago that you claim is/was related to
rpm -qa \*foo\*
regression from a wildcard behavior that has never been specified, only de 
facto,
when there are other non-feature related behaviors that are often in need of 
fixing
is unwise.

The issue that needs consensus is whether
rpm -qa \*foo\*
is useful, particularly when there are other designed/planned/implemented
implicit switches to permit
rpm -qa ^.*foo.*

i.e. your trivial reproducer is already a malformed *RE pattern, rather
a sloppy/foolish DWIM naive fuzz-busting query.

There already is a means
 I've provided you with a trivial reproducer, but considering the large amount 
 of patches I have in queue, I don't really have the time nor that much 
 incentive for starting on writing accompanying regression tests, especially 
 not when I'm not overly existed about how the current regression tests are 
 implemented/maintained, nor is my motivation for writing regression tests for 
 (yet a bunch of) bug fix patches I maintain locally for a package.
 If commit access were restored, doing more of that kind maintenance work 
 again would be of greater interest, but when not, I'm not very eager to take 
 on responsibilities with the resulting tediousness..
 
 I personally have no interest in enabling foolish/sloppy queries on a random 
 feature walk through
 patch streams of unknown viability, and poorly understood consequences, 
 @rpm5.org, particularly
 when I am obligated to do the maintenance work to respond to future flaws and 
 objections of other people's
 efforts.
 
 Last I heard you were too discouraged to undertake the reasonably sane 
 effort(s) that
 are needed ... YMMV.
 And I'm now trying to, am I not? :)

At the time I replied, there was only a single patch in my mbox.
I am proceeding through your e-mails as rapidly as I can.

 Seriously speaking, a lot of things came up and in the way for things, but I 
 will at least sporadically be trying to push all ~fixes for now, then get 
 back to ~features etc. with blueprints provided and code cleaned up whenever 
 I find the time. :) 
 
 Short answer (which I have said many times already):
 A blueprint at http://launchpad.net/rpm is the starting point for new 
 feature deployment.
 This isn't a feature, but rather a bug fix.
 

We disagree on what is a bug and what is a feature here. Which is why
I suggested an explicit blueprint rather than willy-nilly application of hacky 
patches.

73 de Jeff

73 de Jeff
 --
 Regards,
 Per Øyvind



Re: Change default package suffix for debug packages to -debuginfo

2013-08-26 Thread Jeffrey Johnson
This patch is to macro madness configuration.

RPM is expected to be legacy compatible even if distros
don't give a hoot about what packaging conventions/naming
might have been in place when a distro was released.

You have also pointed out that gdb, not rpm, is responsible
for establishing conventions. RPM is already sufficiently reconfigurable
no matter what is distributed in @rpm5.org releases.

See other comments re creating -debug* whatchamacallits in C internal
to RPM+ELFUTILS and ripping out some hugely fragile/complex scripting.

73 de Jeff

On Aug 26, 2013, at 3:01 PM, Per Øyvind Karlsen wrote:

 As -debuginfo is the most commonly used suffix for debug packages, there's 
 also code with special behaviour for naming convention (see lib/dependens.c 
 where '-debuginfo' rather than '-debug' is used, not to forget other software 
 such as ie. gdb etc. also that expects this), this patch changes the default 
 to -debuginfo.
 
 --
 Regards,
 Per Øyvind
 rpm-5.4.7-change-to-debuginfo-suffix.patch

__
RPM Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: Don't display suggests with --requires

2013-08-26 Thread Jeffrey Johnson

On Aug 26, 2013, at 3:06 PM, Per Øyvind Karlsen wrote:

 2013/8/26 Jeffrey Johnson n3...@me.com
 
 On Aug 26, 2013, at 2:21 PM, Per Øyvind Karlsen wrote:
 
  This patch fixes so that soft dependencies won't be displayed with 'rpm -q 
  --requires', only with 'rpm -q --suggests'
 
 
 This patch can be done (by masking RPMSENSE_MISSINGOK using awk) without
 changing any C code.
 Feel free to provide a better solution. :) 

Expecting me to address your needs if foolish. I have other tasks to do
than write and test an awk script.

 
 I'm also very reluctant to change existing/useful behavior of --requires with
 grep -v because it breaks compatibility behavior (that I rely on while 
 developing)
 on systems with @rpm.org installed.
 IIRC rpm.org hasn't implemented support for RPMSENSE_MISSINGOK on 
 dependencies, have they?
 Ie. isn't there's some incompatibilities in place already? :o)

You will need to address the issue with @rpm.org, not here.

Meanwhile all the reasoning and the complete implementation
was done a long time ago. Using a bit that other implementations/distros
choose not to honor has nothing to do with what is implemented, nor
what might need to be displayed using rpm -q.

 
 Well, you know better than me, at least behaviour introduced by this patch is 
 what's been preferred by cooker users. :)
 

And this isn't the place to honk you cooker warez. You submitted a
patch for upstream inclusion, and you have my reply.

73 de Jeff
 --
 Regards,
 Per Øyvind



Re: Make sure hdrfmt argv element is initialized

2013-08-26 Thread Jeffrey Johnson

On Aug 26, 2013, at 3:09 PM, Per Øyvind Karlsen wrote:

 This patch should be pretty self-explaining.. :)

A reproducer please. This may (or may not) be the right
pace to fix, and there may be other places in need of fixing.

None of this is self-explanatory. I routinely run under valgrind
and in CI harnesses and fix all detected problems. The fact
that thgere is some path that has not been exercised needs
to be addressed no matter what patch is applied.

73 de Jeff
 
 --
 Regards,
 Per Øyvind
 rpm-5.4.7-hdrfmt-fix-unitialized-argv-element.patch

__
RPM Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: Support terminate build on files listed twice.

2013-08-26 Thread R P Herrold

On Mon, 26 Aug 2013, Jeffrey Johnson wrote:


See other comments:
Resolving simple build flaws rather than detecting and terminating a 
build
configurably is what is needed.


Avoiding unexpected breakage and avoiding new support load 
models is a Good Thing (tm)


I would write that:

Resolving simple build flaws and emitting a warning,
rather than ...

just as GCC permits, but does not require, -Werror and 
-pedantic-error as options


That enables the Pedant to engage in self-abuse, without 
permitting him to become the dictator to require everyone else 
to follow the pedant's path to salvation or damnation


-- Russ herrold
__
RPM Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: Fix miRE strings lacking null terminator

2013-08-26 Thread Jeffrey Johnson

On Aug 26, 2013, at 3:17 PM, Per Øyvind Karlsen wrote:

 This patch ensures that strings has a null terminator at end, otherwise 
 strings passed to mireRegexec might be missing it.
 

Is there a specific problem here? DO you have a reproducer?

The use of alloca tells me that I applied a band-aid here for some
reason I've long since forgot.

The real problem (and fix) is likely elsewhere, not here, imho.

73 de Jeff
 --
 Regards,
 Per Øyvind
 rpm-5.4.9-mire-fix-strings-lacking-null-terminator.patch

__
RPM Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: Fix typo in rpmtag.h

2013-08-26 Thread Jeffrey Johnson

On Aug 26, 2013, at 3:24 PM, Per Øyvind Karlsen wrote:

 Requires no explanation..
 

So _THAT_ is why the harmless message is being displayed. ;-)

Applied, thanks.

The better (and p[lanned) fix is to rip out all code
marked with SUPPORT_I18NSTRING_TYPE now
that distros have had almost 1.5y to adjust to the change.

73 de Jeff
 --
 Regards,
 Per Øyvind
 rpm-5.4.9-fix-typo-in-rpmtag-header.patch

__
RPM Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: Fix a couple of debugedit memleaks

2013-08-26 Thread Jeffrey Johnson
Send to @rpm.org.

So far, I track _EXACTLY_ what the @redhat.com glibc cabal
recommends with no other changes.

And the entire debugedit code base, replacing NSS with
BeeCrypt digests (the right fix is to add a SHA1 implementation
to debugedit.c directly to simplify upgrading changes).

I also believe that debugedit.c should be distributed
by other means than inclusion in RPM itself.

There are at least 2 distros I am aware of that wish to
use debugedit but not RPM that have asked for external
debugedit.c

73 de Jeff

On Aug 26, 2013, at 3:28 PM, Per Øyvind Karlsen wrote:

 Simple enough..
 
 --
 Regards.
 Per Øyvind
 rpm-5.4.10-fix-a-couple-of-debugedit-memleaks.patch

__
RPM Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Fix variables getting overriden by /etc/os-release

2013-08-26 Thread Per Øyvind Karlsen
The follow patch fixes /etc/os-release being sourced right into same
environment as the configure script runs in, meaning that any existing
variables with same names as found in /etc/os-release gets overriden.

This patch sources /etc/os-release and prints the $ID variable in a
sub-shell in order to avoid this problem.


rpm-5.4.13-dont-override-existing-variables-with-etc-os-release.patch
Description: Binary data


Re: Fix tagSwab handling of RPM_UINT64_TYPE

2013-08-26 Thread Jeffrey Johnson

On Aug 26, 2013, at 3:42 PM, Per Øyvind Karlsen wrote:

 This patch fixes tagSwab() to work with RPM_UINT64_TYPE.
 
 I'm not sure why it's not using newer functions (ie. from endian(3)) with 
 support for 64 integers rather than using two 32 bit integers, but I guess it 
 might be related to legacy compatibility..?
 And if so, is it still relevant, or should code be updated?
 (I first did the fix with 64 bit swab function, but then figured that it 
 might not be all too welcome upstream)
 
 Oh well, either way, this patch makes it anyways work though. :)
 

Patch looks correct, but there's likely other places that need fixing.

Yes this is ancient hysterically remnant code when unsigned long long
wasn't reliably/portably implemented.

There are no RPMTAG_* tags with RPM_UINT64_TYPE (though
@rpm.org may have added something).

Without a usage case, carrying around support for RPM_UNIT64_TYPE
is largely an unnecessary pointless task. Meanwhile there are most definitely
uses for UINT64 these days, just adding a mandatory tag with a UINT64 type
introduces instant legacy incompatibility and confusion at least at the
level of, say, changing to SHA256 or XZ compression.

Sure you can wave your hands (as @rpm.org may have done, not checked, dunno) and
make the use of UINT64 tags conditionally opt-in somehow.

I chose to fix slightly differently:

Index: header.c
===
RCS file: /v/rpm/cvs/rpm/rpmdb/header.c,v
retrieving revision 1.198.2.8
diff -p -u -w -r1.198.2.8 header.c
--- header.c28 Jun 2013 16:57:10 -  1.198.2.8
+++ header.c26 Aug 2013 21:34:57 -
@@ -398,7 +398,7 @@ static unsigned char * tagSwab(/*@out@*/
 switch (he-t) {
 case RPM_UINT64_TYPE:
 {  rpmuint32_t * tt = (rpmuint32_t *)t;
-assert(nb == (he-c * sizeof(*tt)));
+assert(nb == (2 * he-c * sizeof(*tt)));
for (i = 0; i  he-c; i++) {
rpmuint32_t j = 2 * i;
rpmuint32_t b = (rpmuint32_t) htonl(he-p.ui32p[j]);

 --
 Regards,
 Per Øyvind
 rpm-5.4.10-fix-64bit-tagSwab.patch

__
RPM Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: Fix variables getting overriden by /etc/os-release

2013-08-26 Thread Jeffrey Johnson
*shrug* applied

The entire idea that one can specify a vendor reliably
in a file for access portably by AutoCrap is naive.

73 de Jeff
On Aug 26, 2013, at 5:27 PM, Per Øyvind Karlsen wrote:

 The follow patch fixes /etc/os-release being sourced right into same 
 environment as the configure script runs in, meaning that any existing 
 variables with same names as found in /etc/os-release gets overriden.
 
 This patch sources /etc/os-release and prints the $ID variable in a sub-shell 
 in order to avoid this problem.
 rpm-5.4.13-dont-override-existing-variables-with-etc-os-release.patch

__
RPM Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: Fix rpm --verify segfault

2013-08-26 Thread Jeffrey Johnson

On Aug 26, 2013, at 3:52 PM, Per Øyvind Karlsen wrote:

 This fixes a segfault with --verify (IIRC on packages signed with old 
 signature type).
 
 The bug is discussed at https://qa.mandriva.com/show_bug.cgi?id=64378
 
 No definite consensus were ever achieved in previous discussions about the 
 correct fix for this bug, but the patch does at least work (tm) ;)
 

Yep, all very well known.

I suspect the patch is correct in avoiding the segfault,
but not personally looked at a reproducer, and CI test harnesses,
all of which also need to change to achieve coverage testing.

Meanwhile, as long as ROSA/Mandriva choose _NOT_ to
officially support automated hkp:// retrieval, I choose a
similar stance and choose _NOT_ to fix what is likely a bug
officially.

Any distro that wishes to pursue MANDATORY signature checking
and elimination of --nodigests/--nosignatures everywhere in RPM
on an official ROADMAP will have my immediate attention.

Until then: *shrug*

73 de Jeff

 --
 Regards,
 Per Øyvind
 rpm-5.4.9-fix-verify-segfault.patch



Re: Don't try generate rpmfc dependencies from doc files

2013-08-26 Thread Jeffrey Johnson
See other comments regarding automagically filtering autodeps
manifests based on either MIME suffix or paths.

Its all fabulously fg=fragile and broken and needs to be implemented
intelligently and generally, not ad hoc patches to fix Yet Another just
realized convention.

Note that the existing
chmod -x /path/to/some/file
can be used to disable extraction any time someone wishes
to fix their packages, not complain about RPM.

You can also re-enable the execute bit using %attr if youy truly
need an executable file in %doc paths for wahtever bizarre reason.

73 de Jeff
On Aug 26, 2013, at 4:02 PM, Per Øyvind Karlsen wrote:

 This patch prevents automatic dependencies from being generated for doc files.
 
 --
 Regards,
 Per Øyvind
 rpm-5.4.12-dont-try-generate-rpmfc-dependencies-from-doc-files.patch

__
RPM Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: Skip dependencies for block character devices

2013-08-26 Thread Jeffrey Johnson

On Aug 26, 2013, at 4:04 PM, Per Øyvind Karlsen wrote:

 This patch prevents dependencies being generated for block  character 
 devices.
 

Any packaging that includes block/char devices is intrinsically busted.

Use %dev instead. Its been implememnted  for a L-O-N-G time.

73 de Jeff

 --
 Regards,
 Per Øyvind
 rpm-5.4.5-skip-dependencies-for-character-devices.patch

__
RPM Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: Actually link against internal lua

2013-08-26 Thread Jeffrey Johnson
Not the right fix afaict.

lua is treated as a helper library and merged
into librpmmisc when internal.

But how lua gets linked into rpm is rather complicated.

73 de Jeff

On Aug 26, 2013, at 4:05 PM, Per Øyvind Karlsen wrote:

 This patch fixes an issue with internal lua not being linked against even if 
 enabled.
 
 --
 Regards,
 Per Øyvind
 rpm-5.4.7-actually-perform-linking-against-internal-lua.patch

__
RPM Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Debugedit busted in rpm-5.4.13

2013-08-26 Thread Per Øyvind Karlsen
The following change breaks debugedit: http://rpm5.org/cvs/chngview?cn=17180

With this patch applied, debugedit will fail in following fashion:
extracting debug info from
/home/peroyvind/ABF/queue/augeas/BUILDROOT/augeas-1.0.0-4-mdk2013.0.x86_64-buildroot/lib64/libaugeas.so.0.16.0
Failed to produce debuginfo: debug format not supported: .init


In the changelog there's a reference to some commit in rpm.org, yet I
cannot seem to find any trace of it there either though..

--
Regards,
Per Øyvind


Re: Apply python coloring from magic

2013-08-26 Thread Jeffrey Johnson
Not the right fix.

Here's why:

RPM includes/uses magic strings returned from libmagic.

For reproducible results, where external system magic changes
arbitrarily, there are any number of problems that ensue
because the (what used to be) /etc/magic text has changed.

The only proper reproducible solution is to distribute/maintain (what used to 
be)
/etc magic content directly in RPM.

RPM used to carry --with-file=internal, removed by popular outcry.

But chasing arbitrary strings across per-distro content isn't a solvable
problem generally.

Maintain per-distro patches as you wish.

73 de Jeff

On Aug 26, 2013, at 4:07 PM, Per Øyvind Karlsen wrote:

 Add missing string reported by libmagic on some python files.
 
 --
 Regards,
 Per Øyvind
 rpm-5.4.5-rpmfc-apply-python-coloring-from-magic.patch

__
RPM Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: Don't add rpmlib(VersionedDependencies) feature dependency

2013-08-26 Thread Jeffrey Johnson
I'd love to apply this patch, but the ensuing legacy compatibility
discussions would eat months of my time.

So I choose my battles wisely, and won't apply the patch.

tracking dependency is a polite euphemism for I-N-C-O-M-P-A-T-B-I-L-E
invented to distract LSB (and others) from recognizing an incompatibility 
per-se.

It truly the wrong engineering to mark all future packages forevermore with
an unresolvable dependency simply to deploy a (usually necessary)
incompatibility.

Otherwise tracking dependencies -- particularly with no coordination
between multiple forks/versions of rpm around -- are merely a pleasant fiction.

73 de Jeff


On Aug 26, 2013, at 4:10 PM, Per Øyvind Karlsen wrote:

 This patch comes from some discussion of ours longlong time ago about there 
 no longer being any need for the rpmlib(VersionedDependencies) feature 
 dependency..
 
 So as I understood from you it being of no use, I yanked it locally in cooker 
 at least.. :)
 
 --
 Regards,
 Per Øyvind
 rpm-5.4.9-dont-add-versioneddependency-rpmlib-feature-dependency.patch

__
RPM Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: Don't generate php dependencies on only executable php scripts

2013-08-26 Thread Jeffrey Johnson

On Aug 26, 2013, at 4:13 PM, Per Øyvind Karlsen wrote:

 Subject says it all..

Um no. I can't tell whether you have sent a reversed patch
or are attempting a change in behavior.

RPM SHOULD extract dependencies only from executable files.

This is advertised behavior because of
chmod -x ...
disabling.

Feel free to start a discussion if you wish to change the implementation.
But I have no desire to wander into a known mine field interpreter by 
interpreter.

73 de Jeff

 rpm-5.4.5-dont-generate-php-dependencies-only-when-executable.patch

__
RPM Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: Set proper file color for scripts using env in shellbang

2013-08-26 Thread Jeffrey Johnson

On Aug 26, 2013, at 4:21 PM, Per Øyvind Karlsen wrote:

 I'm almost done with the first round of pushing (mainly ~pure) bug fix(/more 
 trivial) patches for now..
 

This has _NOTHING to do with file colors (because its a script).
Only elf executables have colors.

Meanwhile I have no desire to chase the myriad recommended
ways of having a script re-execute itself with an interpreter on
an arbitrary path.

Its not just
#!/usr/bin/env /usr/bin/interpreter
that need to be dealt with generally: see what perl does.

One can _ALWAYS_ patch the code to invoke an interpreter on
a known path, adding dependencies manually as needed to
ensure that the interpreter exists on that path, for any distro
serious about quality rpm packaging.

73 de Jeff
 --
 Regards,
 Per Øyvind
 rpm-5.4.5-set-proper-file-color-for-scripts-using-env-in-shellbang.patch

__
RPM Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: Update brp-compress with support for xz/lzma compression

2013-08-26 Thread Jeffrey Johnson
No interest because already there are huge amounts
of breakage making *.spec files tied to per-distro choices
of what compressor to invoke.

I have to fix issues like this in nearly every Fedora package I look
at, to replace explicit suffixes with a glob in %files manifests.

Maintain outside of rpm as you wish: what compression is chosen
by various/sundry distros isn't a solvable problem imho.

73 de Jeff

On Aug 26, 2013, at 4:27 PM, Per Øyvind Karlsen wrote:

 This patch adds support for compressing man  info pages with xz or lzma 
 compression.
 
 --
 Regards,
 Per Øyvind
 rpm-5.4.10-update-and-use-brp-compress.patch

__
RPM Package Managerhttp://rpm5.org
Developer Communication Listrpm-devel@rpm5.org


Re: Some ruby 1.9 fixes

2013-08-26 Thread Elan Ruusamäe
Config vs RbConfig :

https://github.com/ruby/ruby/blob/v1_9_3_327/lib/rbconfig/obsolete.rb#L4

so i understand 1.8.x (latest is 1.8.7 [1]) works with RbConfig too

[2] ftp://ftp.ruby-lang.org/pub/ruby/1.8



On Mon, Aug 26, 2013 at 10:57 PM, Jeffrey Johnson n3...@me.com wrote:


 On Aug 26, 2013, at 2:30 PM, Per Øyvind Karlsen wrote:

  This patch fixes compatibility with ruby 1.9.
 

 There are far far far deeper issues with ruby 1.8.x != 1.9.x behavior
 that need to be addressed.

 There is no consensus (no even a goal) stated that might lead to
 a more useful implementation. Instead there are gobs of macro magic
 glue to enable/disable and otherwise diddle up band-aids to a fundamentally
 flawed approach.

 Please read my comments (Sept 2009 iirc, +/- a year, was September)
 on rpm-devel@rpm5.org on fundamental design differences between
 embedding (as undertaken by me @rpm5.org) and bindings for a build
 system in ruby (as my existing implementation was (ab)used for).

 I see no rational way to extend RPM+RUBY usefully and portably by
 applying Yet More Macro Madness (in distro-du-jour dialect), with
 known and large differences in embedding behavior between
 ruby 1.8.x != 1.9.x implementations, particularly when all the
 cool kids interest is in creating a native ruby packaging system,
 not in devising more standard ruby *.rpm packaging.

 YMMV

 73 de Jeff

  --
  Regards,
  Per Øyvind
  rpm-5.4.9-ruby1.9-fixes.patch

 __
 RPM Package Managerhttp://rpm5.org
 Developer Communication Listrpm-devel@rpm5.org




-- 
glen


Re: Don't include buildroot in list of duplicate files printed

2013-08-26 Thread Jeffrey Johnson
I'm unconvinced that directories need to be treated differently than files.

There has been
%unpackaged_files_terminate_build
since forever. I still believe that the macros need to be removed
and the behavior needs to be made MANDATORY (if desired).

Alexey Tourbin also implemented some silent fixes to add
subdirs that were not specified, which is why you found it
more convenient to add a new macro for directories rarther
than files.

The core issue in need of resolving is when directories should
(or should not) be added to packaging.

I believe that all directories mentioned on every path (including /)
should be added to every package because that is the logical
end-point if _ANY_ directory is added to packaging. One can
quite easily design a packaging system that _NEVER_ includes any
directory, but rather creates directories as needed when mentioned
in file paths, and manages only files not directories, setting directory
permissions as side effects and lazily removing empty directories.

Meanwhile RPM permits both only files and every subdir component
without a clear consensus on what the Right Thing To Do actually is.

OTOH, I personally think that ignoring any/every file not mentioned
explicitly (or implicitly with glob patterns), with an explicit warning
listing all the unpackaged files, is better behavior. Its certainly useful
to cut-n-paste a bunch of paths into a %files manifest and then
adjust to whatever level of macro madness one wishes, a task
I do all the time when creating packages.

All of the rather pugly macro enablers/disablers was Red Hat
control phreak manglement ordered because a FULLSTOP
build failure is all that most package monkeys understand
about proper packaging.

YMMV and my personal packaging checks are clearly different than yours
if we disagree on mileage.


On Aug 26, 2013, at 3:12 PM, Per Øyvind Karlsen wrote:

 2013/8/26 Jeffrey Johnson n3...@me.com
 
 On Aug 26, 2013, at 2:24 PM, Per Øyvind Karlsen wrote:
 
  This patch will strip away the buildroot prefix for duplicate files listed, 
  providing greater consistency with behaviour otherwise.
 
 
 While the approach is sensible, the deeper flaw is that duplicate
 file checks added by Alexey Tourbin around the time of rpm-5.1.9
 release do not scale.
 
 Far deeper changes than cosmetically stripping a builroot path are
 needed, likely with Bloom filters attached to all the binary packages
 produced in a build, so that
 
 /**
  * Return intersection of two Bloom filters.
  * @retval aBloom filter
  * @param b Bloom filter
  * @return  0 on success, -1 if {m,k} disagree or NULL pointers.
  */
 int rpmbfIntersect(rpmbf a, const rpmbf b)
 /*@modifies a @*/;
 
 can be used to detect duplicate (and similarly shared/conflicting) files.
 
 Build a kernel package (which has many more paths than most packages)
 and time the additional checks added by Alexey Tourbin if you wish
 to see the scaling problem in the existing implementation.
 
 Or try building tests/millionfile-insanity.spec to measure the cost of
 the added checks.
 
 Note that the check sadded by Alexey are useful: my only objection is
 that the implementation did not (and does not) scale with lots of files.
 I can't remember whether I've even actually run into any problems related to 
 this myself, but on a related note, the unpackage sub directory check is very 
 often giving false positives..
 I have a patch to add support termination of build on unpackaged sub 
 directories, but considering that the check isn't reliable, I've left it 
 disabled by default, but I'll attach the patch none the less.
 
 --
 Regards,
 Per Øyvind
 rpm-5.4.10-unpackaged_subdirs_terminate_build.patch