public inbox for libabigail@sourceware.org
 help / color / mirror / Atom feed
* [Bug default/19428] Write a fedabidiff utility which integrates with the Fedora build system
  2016-01-01  0:00 [Bug default/19428] New: Write a fedabidiff utility which integrates with the Fedora build system dodji at redhat dot com
  2016-01-01  0:00 ` [Bug default/19428] " cqi at redhat dot com
@ 2016-01-01  0:00 ` cqi at redhat dot com
  2016-01-01  0:00 ` dodji at seketeli dot org
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 13+ messages in thread
From: cqi at redhat dot com @ 2016-01-01  0:00 UTC (permalink / raw)
  To: libabigail

https://sourceware.org/bugzilla/show_bug.cgi?id=19428

Chenxiong Qi <cqi at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|dodji at redhat dot com            |cqi at redhat dot com

-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug default/19428] New: Write a fedabidiff utility which integrates with the Fedora build system
@ 2016-01-01  0:00 dodji at redhat dot com
  2016-01-01  0:00 ` [Bug default/19428] " cqi at redhat dot com
                   ` (10 more replies)
  0 siblings, 11 replies; 13+ messages in thread
From: dodji at redhat dot com @ 2016-01-01  0:00 UTC (permalink / raw)
  To: libabigail

https://sourceware.org/bugzilla/show_bug.cgi?id=19428

            Bug ID: 19428
           Summary: Write a fedabidiff utility which integrates with the
                    Fedora build system
           Product: libabigail
           Version: unspecified
            Status: NEW
          Severity: enhancement
          Priority: P2
         Component: default
          Assignee: dodji at redhat dot com
          Reporter: dodji at redhat dot com
                CC: libabigail at sourceware dot org
  Target Milestone: ---

It would be extremely nice (and useful) to write a 'fedabidiff' tool which
integrates with the Fedora build system.

I propose that we use this enhancement request as a casual way to "define" (and
discuss) what would go into that tool.

The primary use case would be to help Fedora Packagers to review the ABI
changes of their packages, should the need arise.

So here are a some early use case which would be supported early:

1/ Suppose the packager has just locally built a package named
foo-3.0.fc24.rpm.  To compare the ABI of this locally build package with the
latest stable package from Fedora 23, one would do:

  fedabidiff --from f23 ./foo-3.0.fc24.rpm

This command would perform the following tasks:
  - Find (locally) the debug info package that corresponds to the local file
./foo-3.0.fc24.rpm that was just built.
  - Download the latest stable version of the foo package, that was built for
fedora 23, as well as its debug info package.
  - Compare the ABIs of the binaries embedded in the packages
  - Show the results

2/ Suppose the packager wants to see how the ABIs of the package foo evolved
between fedora 19 and fedora 22.  She would thus type the command:

  fedabidiff --from f19 --to f22 foo

This command would perform the following tasks:
  - Download the latest stable package (and its associated debug info package)
of foo, built for Fedora 19
  - Download the latest stable package (and its associated debug info package)
of foo, built for Fedora 22
  - Compare the two packages and show the result.

3/ Suppose the packager wants to compare the ABI of two packages designated by
their name and version. She would issue a command like this:

  fedabidiff foo-1.0.fc19 foo-3.0.fc24

This command would perform the following tasks:
  - Download the package foo-1.0.fc19 and its associated debug info package,
for *all* the architectures available in the Fedora build system.
  - Do the same for foo-3.0.fc24
  - Compare the ABIs of the two packages for all architectures and show the
results.

Should the user want to compare the ABI of two packages, but just for one
architecture, she would type:

  fedabidiff foo-1.0.fc19.i686 foo-1.0.fc24.i686

Please, feel free to add more use cases in subsequent comments.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug default/19428] Write a fedabidiff utility which integrates with the Fedora build system
  2016-01-01  0:00 [Bug default/19428] New: Write a fedabidiff utility which integrates with the Fedora build system dodji at redhat dot com
                   ` (9 preceding siblings ...)
  2016-01-01  0:00 ` cqi at redhat dot com
@ 2016-01-01  0:00 ` sinny at redhat dot com
  10 siblings, 0 replies; 13+ messages in thread
From: sinny at redhat dot com @ 2016-01-01  0:00 UTC (permalink / raw)
  To: libabigail

https://sourceware.org/bugzilla/show_bug.cgi?id=19428

Sinny Kumari <sinny at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |sinny at redhat dot com

--- Comment #4 from Sinny Kumari <sinny at redhat dot com> ---
After having discussion on IRC with Dodji, another feature which can be added
as:

4/ Suppose the package maintainer wants to view ABI changes for all
sub-packages (say foo, foo-libs, foo-devel) generated by the package foo
between two N-V-R (say foo-1.0-1.fc23 and foo-2.0-1.fc24), one can do:

     fedabidiff --all-subpackages foo-1.0-1.fc23 foo-2.0-1.fc24

This command would perform the following tasks:
- Download all rpms (including debuginfo) corresponding to foo-1.0-1.fc23  from
F23
- Download all rpms (including debuginfo) corresponding to foo-2.0-1.fc24 from
F24
- Find matching sub-packages (e.g. foo-libs-1.0-1.fc23.x86_64.rpm and
foo-libs-2.0-1.fc24.x86_64.rpm) in both packages and compare them for ABI
changes.
- Show the ABI changes results for all sub-packages

This feature can also be used for package having rpms available locally.
Something like:

 fedabidiff --all-subpackages foo-1.0-1.fc23 <local directory path having
sub-packages>

-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug default/19428] Write a fedabidiff utility which integrates with the Fedora build system
  2016-01-01  0:00 [Bug default/19428] New: Write a fedabidiff utility which integrates with the Fedora build system dodji at redhat dot com
  2016-01-01  0:00 ` [Bug default/19428] " cqi at redhat dot com
  2016-01-01  0:00 ` cqi at redhat dot com
@ 2016-01-01  0:00 ` dodji at seketeli dot org
  2016-01-01  0:00 ` cqi at redhat dot com
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 13+ messages in thread
From: dodji at seketeli dot org @ 2016-01-01  0:00 UTC (permalink / raw)
  To: libabigail

https://sourceware.org/bugzilla/show_bug.cgi?id=19428

--- Comment #2 from dodji at seketeli dot org ---
> In 3/, after getting packages according to foo-3.0.fc24, only compare -devel
> packages within each architecture?

In 3/ the arguments are *packages* designated by their name
and version.  If the user wants to compare -devel packages, she'd have
to type:

  fedabidiff foo-devel-1.0.fc19 foo-devel-3.0.fc24

So, as it's the foo-1.0.fc19 and foo-3.0.fc24 packages that are
designated by the user, the tool would compare just those.  The
architectures however are not specified, so I think it's not surprising
to assume that the tool should compare these two packages in all the
architectures.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [Bug default/19428] Write a fedabidiff utility which integrates with the Fedora build system
  2016-01-01  0:00 ` cqi at redhat dot com
@ 2016-01-01  0:00   ` Dodji Seketeli
  0 siblings, 0 replies; 13+ messages in thread
From: Dodji Seketeli @ 2016-01-01  0:00 UTC (permalink / raw)
  To: cqi at redhat dot com; +Cc: libabigail

> In 3/, after getting packages according to foo-3.0.fc24, only compare -devel
> packages within each architecture?

In 3/ the arguments are *packages* designated by their name
and version.  If the user wants to compare -devel packages, she'd have
to type:

  fedabidiff foo-devel-1.0.fc19 foo-devel-3.0.fc24

So, as it's the foo-1.0.fc19 and foo-3.0.fc24 packages that are
designated by the user, the tool would compare just those.  The
architectures however are not specified, so I think it's not surprising
to assume that the tool should compare these two packages in all the
architectures.

-- 
		Dodji

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug default/19428] Write a fedabidiff utility which integrates with the Fedora build system
  2016-01-01  0:00 [Bug default/19428] New: Write a fedabidiff utility which integrates with the Fedora build system dodji at redhat dot com
                   ` (3 preceding siblings ...)
  2016-01-01  0:00 ` cqi at redhat dot com
@ 2016-01-01  0:00 ` sinny at redhat dot com
  2016-01-01  0:00 ` sinny at redhat dot com
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 13+ messages in thread
From: sinny at redhat dot com @ 2016-01-01  0:00 UTC (permalink / raw)
  To: libabigail

https://sourceware.org/bugzilla/show_bug.cgi?id=19428

--- Comment #6 from Sinny Kumari <sinny at redhat dot com> ---
(In reply to Chenxiong Qi from comment #5)
> (In reply to Sinny Kumari from comment #4)
> > 
> > This feature can also be used for package having rpms available locally.
> > Something like:
> > 
> >  fedabidiff --all-subpackages foo-1.0-1.fc23 <local directory path having
> > sub-packages>
> 
> Hi Sinny,
> 
> Could you give more explanation to this use case? I think I don't understand
> your thought, especially to the second argument "<local directory path
> having sub-packages>".

Okay, I am adding more detail for this usecase.


$ fedabidiff --all-subpackages foo-1.0-1.fc23 <local_pkg_dir_foo>

Here, local_pkg_dir is local directory path having sub-packages and debuginfo
built from a package foo.

Above command would perform the following tasks:
1. Download all rpms (including debuginfo) corresponding to foo-1.0-1.fc23 
from F23
2. Use local_pkg_dir_foo directory for 2nd set of sub-packages and
corresponding debuginfo
3. Find matching sub-packages (e.g. foo-libs-1.0-1.fc23.x86_64.rpm and
foo-libs-.0-1.fc24.x86_64.rpm) fetched from 1st and 2nd step and compare them
for ABI changes.
- Show the ABI changes results for all sub-packages

-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug default/19428] Write a fedabidiff utility which integrates with the Fedora build system
  2016-01-01  0:00 [Bug default/19428] New: Write a fedabidiff utility which integrates with the Fedora build system dodji at redhat dot com
                   ` (8 preceding siblings ...)
  2016-01-01  0:00 ` [Bug default/19428] Write a fedabidiff " cqi at redhat dot com
@ 2016-01-01  0:00 ` cqi at redhat dot com
  2016-01-01  0:00 ` sinny at redhat dot com
  10 siblings, 0 replies; 13+ messages in thread
From: cqi at redhat dot com @ 2016-01-01  0:00 UTC (permalink / raw)
  To: libabigail

https://sourceware.org/bugzilla/show_bug.cgi?id=19428

--- Comment #5 from Chenxiong Qi <cqi at redhat dot com> ---
(In reply to Sinny Kumari from comment #4)
> 
> This feature can also be used for package having rpms available locally.
> Something like:
> 
>  fedabidiff --all-subpackages foo-1.0-1.fc23 <local directory path having
> sub-packages>

Hi Sinny,

Could you give more explanation to this use case? I think I don't understand
your thought, especially to the second argument "<local directory path having
sub-packages>".

-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug default/19428] Write a fedabidiff utility which integrates with the Fedora build system
  2016-01-01  0:00 [Bug default/19428] New: Write a fedabidiff utility which integrates with the Fedora build system dodji at redhat dot com
                   ` (2 preceding siblings ...)
  2016-01-01  0:00 ` dodji at seketeli dot org
@ 2016-01-01  0:00 ` cqi at redhat dot com
  2016-01-01  0:00   ` Dodji Seketeli
  2016-01-01  0:00 ` sinny at redhat dot com
                   ` (6 subsequent siblings)
  10 siblings, 1 reply; 13+ messages in thread
From: cqi at redhat dot com @ 2016-01-01  0:00 UTC (permalink / raw)
  To: libabigail

https://sourceware.org/bugzilla/show_bug.cgi?id=19428

Chenxiong Qi <cqi at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |cqi at redhat dot com

--- Comment #1 from Chenxiong Qi <cqi at redhat dot com> ---
In 3/, after getting packages according to foo-3.0.fc24, only compare -devel
packages within each architecture?

-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug default/19428] Write a fedabidiff utility which integrates with the Fedora build system
  2016-01-01  0:00 [Bug default/19428] New: Write a fedabidiff utility which integrates with the Fedora build system dodji at redhat dot com
@ 2016-01-01  0:00 ` cqi at redhat dot com
  2016-01-01  0:00 ` cqi at redhat dot com
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 13+ messages in thread
From: cqi at redhat dot com @ 2016-01-01  0:00 UTC (permalink / raw)
  To: libabigail

https://sourceware.org/bugzilla/show_bug.cgi?id=19428

--- Comment #3 from Chenxiong Qi <cqi at redhat dot com> ---
(In reply to dodji from comment #2)
> > In 3/, after getting packages according to foo-3.0.fc24, only compare -devel
> > packages within each architecture?
> 
> In 3/ the arguments are *packages* designated by their name
> and version.  If the user wants to compare -devel packages, she'd have
> to type:
> 
>   fedabidiff foo-devel-1.0.fc19 foo-devel-3.0.fc24
> 
> So, as it's the foo-1.0.fc19 and foo-3.0.fc24 packages that are
> designated by the user, the tool would compare just those.  The
> architectures however are not specified, so I think it's not surprising
> to assume that the tool should compare these two packages in all the
> architectures.

Looks, foo-devel-1.0.fc19 is in a typical form N-V-R of a build. AFAIK, in
koji, a build can be queried by a given N-V-R like foo-1.0.fc19. However, a
package does not have version and release attributions. Is it possible to call
an API of koji to get the package with foo-devel-1.0.fc19 directly? Otherwise,
perhaps, several API calls would be required.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug default/19428] Write a fedabipkgdiff utility which integrates with the Fedora build system
  2016-01-01  0:00 [Bug default/19428] New: Write a fedabidiff utility which integrates with the Fedora build system dodji at redhat dot com
                   ` (5 preceding siblings ...)
  2016-01-01  0:00 ` sinny at redhat dot com
@ 2016-01-01  0:00 ` dodji at redhat dot com
  2016-01-01  0:00 ` dodji at redhat dot com
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 13+ messages in thread
From: dodji at redhat dot com @ 2016-01-01  0:00 UTC (permalink / raw)
  To: libabigail

https://sourceware.org/bugzilla/show_bug.cgi?id=19428

dodji at redhat dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #9 from dodji at redhat dot com ---
So, an initial version of fedabipkgdiff was committed to the master branch of
the git repository at
https://sourceware.org/git/gitweb.cgi?p=libabigail.git;a=commit;h=57dcfb18f5599a5ec7d9faa8ad2ced33556ac4bd.

I am thus going to close this bug.  Please add separate enhancement requests
for specific features that you would like to see implemented.

Thanks!

-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug default/19428] Write a fedabipkgdiff utility which integrates with the Fedora build system
  2016-01-01  0:00 [Bug default/19428] New: Write a fedabidiff utility which integrates with the Fedora build system dodji at redhat dot com
                   ` (6 preceding siblings ...)
  2016-01-01  0:00 ` [Bug default/19428] Write a fedabipkgdiff " dodji at redhat dot com
@ 2016-01-01  0:00 ` dodji at redhat dot com
  2016-01-01  0:00 ` [Bug default/19428] Write a fedabidiff " cqi at redhat dot com
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 13+ messages in thread
From: dodji at redhat dot com @ 2016-01-01  0:00 UTC (permalink / raw)
  To: libabigail

https://sourceware.org/bugzilla/show_bug.cgi?id=19428

dodji at redhat dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|Write a fedabidiff utility  |Write a fedabipkgdiff
                   |which integrates with the   |utility which integrates
                   |Fedora build system         |with the Fedora build
                   |                            |system

-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug default/19428] Write a fedabidiff utility which integrates with the Fedora build system
  2016-01-01  0:00 [Bug default/19428] New: Write a fedabidiff utility which integrates with the Fedora build system dodji at redhat dot com
                   ` (4 preceding siblings ...)
  2016-01-01  0:00 ` sinny at redhat dot com
@ 2016-01-01  0:00 ` sinny at redhat dot com
  2016-01-01  0:00 ` [Bug default/19428] Write a fedabipkgdiff " dodji at redhat dot com
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 13+ messages in thread
From: sinny at redhat dot com @ 2016-01-01  0:00 UTC (permalink / raw)
  To: libabigail

https://sourceware.org/bugzilla/show_bug.cgi?id=19428

--- Comment #8 from Sinny Kumari <sinny at redhat dot com> ---
(In reply to Chenxiong Qi from comment #7)
> Hi Sinny,
> 
> As you know that fedabipkgdiff is being under review. There are lots of work
> to do so that the first version of fedabipkgdiff can be ready to release for
> the first time. I didn't got enough time to add the case mentioned in
> comment 6, yet. I'll look into this case and other enhancement once
> fedabipkgdiff gets merged. Thanks.

Sure, it can be handled later on as well.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug default/19428] Write a fedabidiff utility which integrates with the Fedora build system
  2016-01-01  0:00 [Bug default/19428] New: Write a fedabidiff utility which integrates with the Fedora build system dodji at redhat dot com
                   ` (7 preceding siblings ...)
  2016-01-01  0:00 ` dodji at redhat dot com
@ 2016-01-01  0:00 ` cqi at redhat dot com
  2016-01-01  0:00 ` cqi at redhat dot com
  2016-01-01  0:00 ` sinny at redhat dot com
  10 siblings, 0 replies; 13+ messages in thread
From: cqi at redhat dot com @ 2016-01-01  0:00 UTC (permalink / raw)
  To: libabigail

https://sourceware.org/bugzilla/show_bug.cgi?id=19428

--- Comment #7 from Chenxiong Qi <cqi at redhat dot com> ---
Hi Sinny,

As you know that fedabipkgdiff is being under review. There are lots of work to
do so that the first version of fedabipkgdiff can be ready to release for the
first time. I didn't got enough time to add the case mentioned in comment 6,
yet. I'll look into this case and other enhancement once fedabipkgdiff gets
merged. Thanks.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2016-05-12 23:18 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-01-01  0:00 [Bug default/19428] New: Write a fedabidiff utility which integrates with the Fedora build system dodji at redhat dot com
2016-01-01  0:00 ` [Bug default/19428] " cqi at redhat dot com
2016-01-01  0:00 ` cqi at redhat dot com
2016-01-01  0:00 ` dodji at seketeli dot org
2016-01-01  0:00 ` cqi at redhat dot com
2016-01-01  0:00   ` Dodji Seketeli
2016-01-01  0:00 ` sinny at redhat dot com
2016-01-01  0:00 ` sinny at redhat dot com
2016-01-01  0:00 ` [Bug default/19428] Write a fedabipkgdiff " dodji at redhat dot com
2016-01-01  0:00 ` dodji at redhat dot com
2016-01-01  0:00 ` [Bug default/19428] Write a fedabidiff " cqi at redhat dot com
2016-01-01  0:00 ` cqi at redhat dot com
2016-01-01  0:00 ` sinny at redhat dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).