Merge lp:~nacc/extract-changelogs/changelog-components into lp:extract-changelogs
| Status: | Rejected |
|---|---|
| Rejected by: | Nish Aravamudan on 2017-03-22 |
| Proposed branch: | lp:~nacc/extract-changelogs/changelog-components |
| Merge into: | lp:extract-changelogs |
| Diff against target: |
113 lines (+48/-20) 1 file modified
lp-extract-changelogs.py (+48/-20) |
| To merge this branch: | bzr merge lp:~nacc/extract-changelogs/changelog-components |
| Related bugs: |
| Reviewer | Review Type | Date Requested | Status |
|---|---|---|---|
| Brian Murray | 2017-03-14 | Needs Fixing on 2017-03-14 | |
|
Review via email:
|
|||
Description of the Change
Reorganize c.u.c for sources in main and binaries in universe
Currently, for packages such as qemu, `apt-get changelog qemu` fails because the source is in main but the binary is in universe. `apt` uses the binary package to create the URI, but c.u.c uses the source for extracting the changelog files.
This may not be accetable for merging yet, but I'd like a review.
LP: #1672555
| Nish Aravamudan (nacc) wrote : | # |
| Brian Murray (brian-murray) wrote : | # |
What concerns do you have that leads you to say "this may not be acceptable for merging yet"?
The log messages for "removing broken symlink" are not distinct between binary or component symlinks, while the creation messages are. That seems worth fixing to me.
Thanks for working on this!
| Nish Aravamudan (nacc) wrote : | # |
Hi Brian,
My primary concern is making sure I got the B-C right.
My thinking is:
A) old apt + new layout = will still use pool/component/
B) new apt + new layout = will use pool/
C) old apt + old layout = will still work as it is unchanged
But I think we do have to worry about:
D) new apt + old layout = will look in pool/ and not find it and thus break.
at least initially until we do a pass through all the changelogs and update them with links?
I don't know enough about the various use-cases for apt -- but as I write this, I'm realizing it shouldn't matter yet as there is only the "old apt" case, which should be fine with browsing to a real file or to a symlink in pool/component.
I'm just being overly cautious with new code that is very visible :)
I will fixup the log messages for sure, thanks for catching that!
Unmerged revisions
- 53. By Nish Aravamudan on 2017-03-14
-
_create_
{binary, component} _symlinks: specify type of broken symlink to remove - 52. By Nish Aravamudan on 2017-03-14
-
Move pool/ changelogs into the root directory, symlink in component subdirs
If a srcpkg is in main but some binaries are in universe, `apt changelog
$binpkg` will fail because `apt` has the component in the URL and the
component comes from the binary package, but the changelog is stored
according to the source package. There isn't really any reason for the
component to be in the URI, but we need to maintain
backwards-compatibility. For new changelogs, elide the component from the URI for the actual
file. Make symlinks in the old component/ path for compatibility.LP: #1672555
- 51. By Nish Aravamudan on 2017-03-13
-
_create_
binary_ symlinks: create symlinks regardless of existing changelog r45 change the behavior in attempting to fix the code, by creating the
binary/ symlinks even if the target changelog already exists. However,
it removed the invocation of (what is now) _create_binary_ symlinks that
occurs when the target changelog is initially created. - 50. By Nish Aravamudan on 2017-03-13
-
create_
binary_ symlinks: log symlinks correctly Right now, the symlink deletion and creation logs appear to be reversed
(referring to the target not to the link).

Note that also I do recognize there is already the binary/ namespace that solves this problem too. `apt` does not use it, though, and I think the concern is while it could be changed to do so (I have tested this locally while investigating the code), it would not work with another mirror of c.u.c that did not have binary/.