[Rpm-maint] Reserve ALT RPM tags range

2018-02-27 Thread Vladimir D. Seleznev
(around 100 RPM tags) to avoid the collision with RPM tag numbers, that can possibly will be added to rpm.org in the future. -- With best regards, Vladimir D. Seleznev ___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman

Re: [Rpm-maint] Reserve ALT RPM tags range

2018-03-06 Thread Vladimir D. Seleznev
re copied into > > a uint32 (which needs to be swabbed on big endian platforms). > > > > 3) the tagno is assigned by then masking on the 0x4000 arbitrary tag > > identifier onto the least significant 30 bits of the uint32. Thank you for the suggestion, I think

Re: [Rpm-maint] Reserve ALT RPM tags range

2018-03-07 Thread Vladimir D. Seleznev
On Thu, Mar 01, 2018 at 09:58:58AM +0200, Panu Matilainen wrote: > On 02/28/2018 12:03 AM, Vladimir D. Seleznev wrote: > > Hello, rpm-maint@! > > > > We in ALT Linux Team implemented some new RPM tags for our RPM package > > header and RPM database. Since RPM tags are n

Re: [Rpm-maint] Reserve ALT RPM tags range

2018-03-07 Thread Vladimir D. Seleznev
On Wed, Mar 07, 2018 at 11:31:17AM +0200, Panu Matilainen wrote: > On 03/06/2018 06:29 PM, Vladimir D. Seleznev wrote: > > On Wed, Feb 28, 2018 at 05:54:27AM -0500, Jeff Johnson wrote: > >>> You might try the convention of assigning tags in the 1Gb space from > >>>

Re: [Rpm-maint] Reserve ALT RPM tags range

2018-03-07 Thread Vladimir D. Seleznev
On Wed, Mar 07, 2018 at 05:03:54PM +0200, Panu Matilainen wrote: > On 03/07/2018 03:48 PM, Vladimir D. Seleznev wrote: > > On Thu, Mar 01, 2018 at 09:58:58AM +0200, Panu Matilainen wrote: > >> On 02/28/2018 12:03 AM, Vladimir D. Seleznev wrote: > >>> Hello, rpm-maint

Re: [Rpm-maint] [PATCH 2/2] Add RPMTAG_IDENTITY

2018-03-14 Thread Vladimir D. Seleznev
On Wed, Mar 14, 2018 at 01:45:31PM +0100, Florian Festi wrote: > On 03/12/2018 10:04 PM, vsele...@altlinux.org wrote: > > From: "Vladimir D. Seleznev" > > > > This tag represents binary package build characteristic: if two binary > > packages have equal

Re: [Rpm-maint] [PATCH 2/2] Add RPMTAG_IDENTITY

2018-03-14 Thread Vladimir D. Seleznev
We couldn't think of better tag name (you can propose a better name). -- With best regards, Vladimir D. Seleznev ___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint

Re: [Rpm-maint] [PATCH 2/2] Add RPMTAG_IDENTITY

2018-03-14 Thread Vladimir D. Seleznev
On Wed, Mar 14, 2018 at 09:44:41PM +0300, Ivan Zakharyaschev wrote: > Hello! > > On Wed, 14 Mar 2018, Vladimir D. Seleznev wrote: > > > On Wed, Mar 14, 2018 at 10:20:58AM -0400, Jeff Johnson wrote: > > >> I'd also suggest a more specific name than I

Re: [Rpm-maint] [PATCH 1/2] Add RPMTAG_AUTOINSTALLED

2018-03-21 Thread Vladimir D. Seleznev
resurrections needed, but the basic functionality > to chain is likely still intact in rpm even if lightly used). -- With best regards, Vladimir D. Seleznev ___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint

[Rpm-maint] RFC: RPMTAG_IDENTITY calculation

2018-03-29 Thread Vladimir D. Seleznev
Hello, rpm-maint@! There are RFC patches which implement RPMTAG_IDENTITY calculation. The main idea is that RPMTAG_IDENTITY contains a hash of as many as possible, ideally all RPMTAGs, with exception of that that principally cannot be reproducible and that we don't want to make it reproducible. A

[Rpm-maint] [PATCH 1/2] Add RPMTAG_IDENTITY calculation

2018-03-29 Thread Vladimir D. Seleznev
This commit introduces calculateIdentity function. The function calculates identity as a hash of significant package tags, and writes it to the package header. Tag is significant unless it is insignificant. Insignificant tags are those tags that are not relevant to result of package build, e.g. tha

[Rpm-maint] [PATCH 2/2] build/pack.c: add calculateIdentity to writeRPM

2018-03-29 Thread Vladimir D. Seleznev
--- build/pack.c | 7 +++ 1 file changed, 7 insertions(+) diff --git a/build/pack.c b/build/pack.c index dc5f84c..7ec0eda 100644 --- a/build/pack.c +++ b/build/pack.c @@ -452,6 +452,13 @@ static rpmRC writeRPM(Package pkg, unsigned char ** pkgidp, headerPutString(pkg->header, RPMTAG_C

Re: [Rpm-maint] RFC: RPMTAG_IDENTITY calculation

2018-04-01 Thread Vladimir D. Seleznev
On Thu, Mar 29, 2018 at 03:07:21PM -0400, Jeff Johnson wrote: > > > > On Mar 29, 2018, at 12:55 PM, Vladimir D. Seleznev > > wrote: > > > > Hello, rpm-maint@! > > > > There are RFC patches which implement RPMTAG_IDENTITY calculation. > > >

Re: [Rpm-maint] RFC: RPMTAG_IDENTITY calculation

2018-04-01 Thread Vladimir D. Seleznev
On Fri, Mar 30, 2018 at 07:50:09AM +0300, Alexey Tourbin wrote: > On Thu, Mar 29, 2018 at 7:55 PM, Vladimir D. Seleznev > wrote: > > Hello, rpm-maint@! > > > > There are RFC patches which implement RPMTAG_IDENTITY calculation. > > > > The main idea is that R

[Rpm-maint] [PATCH] Add RPMTAG_IDENTITY calculation as tag extension

2018-04-03 Thread Vladimir D. Seleznev
RPMTAG_IDENTITY is calculating as digest of part of package header that does not contain irrelevant to package build tag entries. Mathematically RPMTAG_IDENTITY value is a result of function of two variable: a package header and an rpm utility, thus this value can differ for same package and diffe

[Rpm-maint] RFC: Add RPMTAG_IDENTITY calculation as tag extenstion

2018-04-03 Thread Vladimir D. Seleznev
Rewritten patch as tag extention. ___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint

Re: [Rpm-maint] [PATCH] Add RPMTAG_IDENTITY calculation as tag extension

2018-04-04 Thread Vladimir D. Seleznev
ENTITY tag set might also need to > be configurable without recompiling. May be it would be easier to add marker that tells that marked tag should be filtered from IDENTITY by calculation? But what is best way to do that? Should I add a new field to struct headerTagTableEntry_s? Or I miss something? > But overall, dynamically generating the IDENTITY tag set withe a tag > extension can be deployed (and back ported and maintained) far more > easily than changing header code. > > Nice job! -- With best regards, Vladimir D. Seleznev ___ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint

Re: [Rpm-maint] [PATCH] Add RPMTAG_IDENTITY calculation as tag extension

2018-04-05 Thread Vladimir D. Seleznev
On Thu, Apr 05, 2018 at 11:41:33AM +0300, Panu Matilainen wrote: > On 04/03/2018 10:31 PM, Vladimir D. Seleznev wrote: > > RPMTAG_IDENTITY is calculating as digest of part of package header that > > does not contain irrelevant to package build tag entries. > > > > Mat

Re: [Rpm-maint] [PATCH] Add RPMTAG_IDENTITY calculation as tag extension

2018-04-05 Thread Vladimir D. Seleznev
On Thu, Apr 05, 2018 at 03:42:15PM +0300, Vladimir D. Seleznev wrote: > On Thu, Apr 05, 2018 at 11:41:33AM +0300, Panu Matilainen wrote: > > On 04/03/2018 10:31 PM, Vladimir D. Seleznev wrote: > > > RPMTAG_IDENTITY is calculating as digest of part of package header that >

Re: [Rpm-maint] [PATCH] Add RPMTAG_IDENTITY calculation as tag extension

2018-04-09 Thread Vladimir D. Seleznev
On Thu, Apr 05, 2018 at 05:18:14PM -0400, Jeff Johnson wrote: > > > > On Apr 5, 2018, at 4:41 AM, Panu Matilainen wrote: > > > >> On 04/03/2018 10:31 PM, Vladimir D. Seleznev wrote: > >> RPMTAG_IDENTITY is calculating as digest of part of package header that

Re: [Rpm-maint] [PATCH] Add RPMTAG_IDENTITY calculation as tag extension

2018-04-09 Thread Vladimir D. Seleznev
On Fri, Apr 06, 2018 at 08:52:15AM +0300, Panu Matilainen wrote: > On 04/05/2018 03:42 PM, Vladimir D. Seleznev wrote: > > On Thu, Apr 05, 2018 at 11:41:33AM +0300, Panu Matilainen wrote: > >> On 04/03/2018 10:31 PM, Vladimir D. Seleznev wrote: > >>> RPMTAG_IDENTI

[Rpm-maint] RFC: RPMTAG_IDENTITY (whitelist filter)

2018-08-22 Thread Vladimir D. Seleznev
You convinced me that there should be whitelist filter, so I rewrote code for it. Follow Panu suggestion [1] I wrote .C generator to filter proper rpm tags. But currently it does not allow this suggestion [2] by jbj@: "The members (and ordering) of the IDENTITY tag set might also need to be config

[Rpm-maint] [PATCH 2/3] rpmtag.h: mark tags for RPMTAG_IDENTITY

2018-08-22 Thread Vladimir D. Seleznev
Keyword `identity' for a tag in rpmTag means that the tag will be used for RPMTAG_IDENTITY calculation. Signed-off-by: Vladimir D. Seleznev --- lib/rpmtag.h | 282 +-- 1 file changed, 140 insertions(+), 142 deletions(-) diff --git a/lib/rpm

[Rpm-maint] [PATCH 1/3] Add identityMatch() function generator

2018-08-22 Thread Vladimir D. Seleznev
identityMatch() matches tag that should be awared in identity calculation. The function generator inspects rpmtag.h tag list for tag identity marker and constructs positive filter function that is adding to tagext.c. Signed-off-by: Vladimir D. Seleznev --- lib/Makefile.am | 8

[Rpm-maint] [PATCH 3/3] Add RPMTAG_IDENTITY calculation as tag extension

2018-08-22 Thread Vladimir D. Seleznev
utility, thus this value can differ for same package and different version of rpm. Signed-off-by: Vladimir D. Seleznev --- lib/tagexts.c | 72 +++ 1 file changed, 72 insertions(+) diff --git a/lib/tagexts.c b/lib/tagexts.c index 61e9b702b

Re: [Rpm-maint] RFC: RPMTAG_IDENTITY (whitelist filter)

2018-09-25 Thread Vladimir D. Seleznev
On Wed, Sep 19, 2018 at 03:25:36PM +0300, Panu Matilainen wrote: > On 9/19/18 12:23 PM, Panu Matilainen wrote: > > On 8/23/18 12:01 AM, Vladimir D. Seleznev wrote: > >> You convinced me that there should be whitelist filter, so I rewrote > >> code for it. Follow Pan

[Rpm-maint] [PATCH 6/7] set _query_all_fmt macro to %nvrda

2018-10-22 Thread Vladimir D. Seleznev
Signed-off-by: Vladimir D. Seleznev --- lib/query.c | 2 +- macros.in | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/query.c b/lib/query.c index e47189ed0..5605f82b9 100644 --- a/lib/query.c +++ b/lib/query.c @@ -600,7 +600,7 @@ int rpmcliQuery(rpmts ts, QVA_t qva

[Rpm-maint] [PATCH 1/7] lib/rpmdb.c: dbiFindMatches and dbiFindByLabelArch take into account the disttag

2018-10-22 Thread Vladimir D. Seleznev
ALT Linux Team distributions use disttag to differ various package builds of the same package NEVR, so dbiFindByLabelArch tries to match the package against name[-[epoch:]version[-release[-disttag]]][.arch]. Signed-off-by: Vladimir D. Seleznev --- lib/rpmdb.c | 60

[Rpm-maint] [PATCH 4/7] Add RPMTAG_NEVRDA support to rpmte API

2018-10-22 Thread Vladimir D. Seleznev
Signed-off-by: Vladimir D. Seleznev --- lib/rpmte.c | 8 1 file changed, 8 insertions(+) diff --git a/lib/rpmte.c b/lib/rpmte.c index d33be1727..c2cc23d21 100644 --- a/lib/rpmte.c +++ b/lib/rpmte.c @@ -32,6 +32,7 @@ struct rpmte_s { Header h; /*!< Package hea

[Rpm-maint] [PATCH 7/7] rpmopt: query info command displays disttag if it is non-null

2018-10-22 Thread Vladimir D. Seleznev
In ALT Linux Team distributions there can be different builds of the one package NEVR. The builds differ in disttag, so it is useful to print its value while querying package information. Signed-off-by: Vladimir D. Seleznev --- rpmpopt.in | 1 + 1 file changed, 1 insertion(+) diff --git a

[Rpm-maint] RFC: extend package versioning

2018-10-22 Thread Vladimir D. Seleznev
rsion-release[-disttag].arch where it makes sense; if disttag value is empty, rpm prints name-[epoch:]version-release.arch; * take name[-[epoch:]version[-release[-disttag]]][.arch] as an argument for some package operations such as erasing. Please, comment. -- With best regards, Vladi

[Rpm-maint] [PATCH 5/7] Replace NVRA and NEVRA with NVRDA and NEVRDA respectively everywhere it makes sense.

2018-10-22 Thread Vladimir D. Seleznev
Signed-off-by: Vladimir D. Seleznev --- lib/depends.c | 24 lib/rpmdb.c | 6 +++--- lib/rpminstall.c | 2 +- lib/rpmscript.c | 6 +++--- lib/transaction.c | 4 ++-- 5 files changed, 21 insertions(+), 21 deletions(-) diff --git a/lib/depends.c b/lib

[Rpm-maint] [PATCH 2/7] Add disttag support to rpmte API

2018-10-22 Thread Vladimir D. Seleznev
Signed-off-by: Vladimir D. Seleznev --- lib/rpmte.c | 7 +++ lib/rpmte.h | 7 +++ 2 files changed, 14 insertions(+) diff --git a/lib/rpmte.c b/lib/rpmte.c index c5d614f67..d33be1727 100644 --- a/lib/rpmte.c +++ b/lib/rpmte.c @@ -36,6 +36,7 @@ struct rpmte_s { char * epoch

[Rpm-maint] [PATCH 3/7] Add RPMTAG_NVRDA and RPMTAG_NEVRDA tag extension

2018-10-22 Thread Vladimir D. Seleznev
These extensions construct name-[epoch:]version-release[-disttag].arch if RPMTAG_DISTTAG is non-empty, otherwise they work as RPMTAG_NVRA and RPMTAG_NEVRA respectively. Signed-off-by: Vladimir D. Seleznev --- lib/rpmtag.h | 2 ++ lib/tagexts.c | 19 ++- 2 files changed, 20

[Rpm-maint] [PATCH] Verbose QueryTags prints whether tag is an extension

2020-04-12 Thread Vladimir D. Seleznev
Verbose QueryTags prints four field: tagname, tagvalue, tagtype and whether it is an extension. To make it possible QueryTags uses new function rpmTagIsExtension() that returns 0 if tag is real, 1 if tag is an extension or -1 if tag is not found. * lib/query.c(rpmDisplayQueryTags): Print whether t