Bug 274065 - net-p2p/transmission: -daemon and -utils still conflicting after PR#273841
Summary: net-p2p/transmission: -daemon and -utils still conflicting after PR#273841
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Robert Clausecker
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-09-24 16:57 UTC by Anton Saietskii
Modified: 2023-10-05 20:47 UTC (History)
3 users (show)

See Also:
bugzilla: maintainer-feedback? (mondo.debater_0q)
vsasjason: maintainer-feedback?


Attachments
poudriere build logs (11.06 KB, application/x-xz)
2023-09-24 16:57 UTC, Anton Saietskii
no flags Details
patch-transmission_3 (32.49 KB, patch)
2023-09-25 15:22 UTC, Rafe
mondo.debater_0q: maintainer-approval+
Details | Diff
patch-transmission_4 (36.91 KB, patch)
2023-09-30 14:31 UTC, Rafe
mondo.debater_0q: maintainer-approval+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Anton Saietskii 2023-09-24 16:57:33 UTC
Created attachment 245193 [details]
poudriere build logs

jason@jnb: [?:1] ~ $ poudriere options -sn net-p2p/transmission@daemon net-p2p/transmission@utils
[00:00:00] Appending to make.conf: /usr/local/etc/poudriere.d/make.conf
===> The following configuration options are available for transmission-daemon-4.0.4_1:
     DOCS=off: Build and/or install documentation
     NLS=off: Native Language Support
     TESTS=off: Build & run unit tests
     WEB=off: Install web client (imples daemon)
===> Use 'make config' to modify these settings
===> The following configuration options are available for transmission-utils-4.0.4_1:
     NLS=off: Native Language Support
     TESTS=off: Build & run unit tests
===> Use 'make config' to modify these settings
jason@jnb: [?:0] ~ $ sudo pkg install -n transmission-utils
Updating poudriere repository catalogue...
Fetching meta.conf: 100%    163 B   0.2kB/s    00:01    
Fetching packagesite.pkg: 100%  149 KiB 152.4kB/s    00:01    
Processing entries: 100%
poudriere repository update completed. 602 packages processed.
All repositories are up to date.
Checking integrity... done (1 conflicting)
  - transmission-utils-4.0.4_1 conflicts with transmission-daemon-4.0.4_1 on /usr/local/etc/rc.d/transmission
Checking integrity... done (0 conflicting)
The following 2 package(s) will be affected (of 0 checked):

Installed packages to be REMOVED:
  transmission-daemon: 4.0.4_1

New packages to be INSTALLED:
  transmission-utils: 4.0.4_1

Number of packages to be removed: 1
Number of packages to be installed: 1

The process will require 5 MiB more space.
jason@jnb: [?:1] ~ $
Comment 1 Rafe 2023-09-25 15:22:48 UTC
Created attachment 245218 [details]
patch-transmission_3

Try this. It's a reorganization under a metaport. 

Any testing you could do would be appreciated. I've cycled through all options on both the components and the metaport, which all appear to work fine; nonetheless, any help you can provide would be greatly appreciated!
Comment 2 Anton Saietskii 2023-09-25 15:34:42 UTC
Seems to be rather radical change again, I would prefer to avoid that.
Perhaps it would be better to do a Phabricator review first?
Comment 3 Anton Saietskii 2023-09-25 15:53:35 UTC
I'm concerned about some points (though I may haven't read patch correctly):
* so the docs and nls catalogs will be installed with daemon only, not with -gtk?
* are we sure that options should be defined inside flavor at all? how transmission-components will handle a situation of running "make config && make FLAVOR=daemon config"?
Comment 4 Rafe 2023-09-25 16:43:55 UTC
(In reply to Anton Saietskii from comment #3)
See D41975.

In order for the transmission-components packages to not overlap and conflict, the DOCS can be in only one package. If GTK is preferred, they could be put there. If there's another way to resolve this, I'm all ears. Note DOCS does not refer to man pages, which are included for each relevant component. 

The transmission-components Makefile specifies which flavor to build if no flavor is selected. It currently defaults to transmission-cli, but this could be set to any component.
Comment 5 Anton Saietskii 2023-09-25 17:08:59 UTC
(In reply to Rafe from comment #4)

No preference in putting changelogs to GTK package, it was just an example. My point is installing changelogs with one subpackage which not everybody will have installed makes a little sense.

I see a review has already been created, so let's continue discussion there. I'll try to write my thoughts about current and potential issues over the next few days. It would also be nice to find someone from FreeBSD team to help with review also.
Comment 6 Robert Clausecker freebsd_committer freebsd_triage 2023-09-29 19:28:14 UTC
(In reply to Rafe from comment #4)

You could also put the docs in a separate package/flavor.
Comment 7 Rafe 2023-09-30 14:31:53 UTC
Created attachment 245333 [details]
patch-transmission_4
Comment 8 Rafe 2023-09-30 14:33:57 UTC
(In reply to Rafe from comment #7)
Proposed final patch to correct the issues. More discussion in D41975
Comment 9 commit-hook freebsd_committer freebsd_triage 2023-09-30 20:01:35 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=ac3e39992e95659a5193a15d4cb873efb00fcb30

commit ac3e39992e95659a5193a15d4cb873efb00fcb30
Author:     Rafe <mondo.debater_0q@icloud.com>
AuthorDate: 2023-09-24 20:04:16 +0000
Commit:     Robert Clausecker <fuz@FreeBSD.org>
CommitDate: 2023-09-30 20:00:01 +0000

    net-p2p/transmission: Reorganize as a metaport

    Port reorganized as a metaport. Each component can be installed
    separately or selected as an option via the metaport.  Components
    were moved to net-p2p/transmission-components.
    See MOVED for additional information.

    Also fixes log-level typo in rc file and description errors

    PR:             273841, 274054 274065
    Reported by:    Anton Saietskii <vsasjason@gmail.com>
    Reported by:    Matt <lazeraman@gmail.com>
    Reported by:    Benjamin Takacs <nimaje+fbz@bureaucracy.de>
    Differential Revision: https://reviews.freebsd.org/D41975

 MOVED                                              |  12 +-
 UPDATING                                           |  10 ++
 net-p2p/Makefile                                   |   1 +
 net-p2p/transmission-components/Makefile (new)     | 189 +++++++++++++++++++++
 .../distinfo                                       |   0
 .../files/patch-CMakeLists.txt}                    |   0
 .../files/patch-gtk_Application.cc                 |   0
 .../files/patch-gtk_DetailsDialog.cc               |   0
 .../files/patch-libtransmission_file-posix.cc      |   0
 .../files/patch-libtransmission_variant-json.cc    |   0
 .../files/patch-qt_transmission-qt.desktop (new)   |  11 ++
 .../files/transmission.in                          |   0
 .../transmission-components/pkg-descr.cli (new)    |   1 +
 .../transmission-components/pkg-descr.daemon (new) |   9 +
 .../transmission-components/pkg-descr.docs (new)   |   1 +
 .../transmission-components/pkg-descr.gtk (new)    |   1 +
 net-p2p/transmission-components/pkg-descr.qt (new) |   1 +
 .../transmission-components/pkg-descr.utils (new)  |   1 +
 .../pkg-plist.cli                                  |   0
 .../transmission-components/pkg-plist.daemon (new) |   9 +
 .../transmission-components/pkg-plist.docs (new)   |  10 ++
 .../pkg-plist.gtk                                  |   0
 .../pkg-plist.qt                                   |   2 +-
 .../pkg-plist.utils                                |   0
 net-p2p/transmission/Makefile                      | 186 ++------------------
 net-p2p/transmission/pkg-plist.daemon (gone)       |  19 ---
 net-p2p/transmission/pkg-plist.default (gone)      | 155 -----------------
 27 files changed, 264 insertions(+), 354 deletions(-)
Comment 10 Robert Clausecker freebsd_committer freebsd_triage 2023-09-30 20:04:29 UTC
Thank you for your contribution.
I hope this finally fixes the port for good.
Comment 11 Anton Saietskii 2023-10-01 15:13:35 UTC
(In reply to Robert Clausecker from comment #10)

Uhm, excuse me, but...

<SKIP>
[00:00:21] Checking packages for incremental rebuild needs
[00:00:28] Deleting transmission-utils-4.0.4_3.pkg: stale package: unwanted origin net-p2p/transmission@utils
[00:00:28] Deleting transmission-daemon-4.0.4_3.pkg: stale package: unwanted origin net-p2p/transmission@daemon
<SKIP>
[00:00:34] Building 2 packages using 1 builders
[00:00:34] Starting/Cloning builders
[00:00:35] Hit CTRL+t at any time to see build progress and stats
[00:00:35] [01] [00:00:00] Building net-p2p/transmission-components@utils | transmission-utils-4.0.4
[00:14:13] [01] [00:13:38] Finished net-p2p/transmission-components@utils | transmission-utils-4.0.4: Success
[00:14:14] [01] [00:00:00] Building net-p2p/transmission-components@daemon | transmission-daemon-4.0.4
[00:27:48] [01] [00:13:34] Finished net-p2p/transmission-components@daemon | transmission-daemon-4.0.4: Success
[00:27:48] Stopping 1 builders
[00:27:48] Creating pkg repository
Creating repository in /tmp/packages: 100%
Packing files for repository: 100%
[00:28:19] Committing packages to repository: /usr/local/poudriere/data/packages/releng132-default/.real_1696172805 via .latest symlink
[00:28:19] Removing old packages
[00:28:19] Built ports: net-p2p/transmission-components@utils net-p2p/transmission-components@daemon
[releng132-default] [2023-10-01_17h37m59s] [committing:] Queued: 2  Built: 2  Failed: 0  Skipped: 0  Ignored: 0  Tobuild: 0   Time: 00:28:17
[00:28:19] Logs: /usr/local/poudriere/data/logs/bulk/releng132-default/2023-10-01_17h37m59s
Cleaning ccache and recalculating stats... done
[00:30:12] Cleaning up
[00:30:12] Unmounting file systems

1. Is it allowed that "transmission-components" origin generates "transmission" pkgname when we actually have "transmission" origin?
2. If answer to previous question is "yes" -- we should never go back in version, shouldn't we? Of course, pkg doesn't see an update now:

jason@jnb: [?:1] ~ $ sudo pkg upgrade transmission-daemon
Updating poudriere repository catalogue...
Fetching meta.conf: 100%    163 B   0.2kB/s    00:01    
Fetching packagesite.pkg: 100%  144 KiB 147.4kB/s    00:01    
Processing entries: 100%
poudriere repository update completed. 548 packages processed.
All repositories are up to date.
Checking integrity... done (0 conflicting)
Your packages are up to date.
Comment 12 Anton Saietskii 2023-10-01 15:49:50 UTC
I believe this isn't fixed since packages went back in version.
Comment 13 commit-hook freebsd_committer freebsd_triage 2023-10-01 16:38:09 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=595bb4a53788fb50b4e8f5aac702199e84eb100f

commit 595bb4a53788fb50b4e8f5aac702199e84eb100f
Author:     Robert Clausecker <fuz@FreeBSD.org>
AuthorDate: 2023-10-01 16:35:59 +0000
Commit:     Robert Clausecker <fuz@FreeBSD.org>
CommitDate: 2023-10-01 16:35:59 +0000

    net-p2p/transmission{,-components}: bump PORTREVISION

    This prevents the PKGVERSION from going backwards after the extensive
    reshuffling of the ports.

    Reported by:    Anton Saietskii <vsasjason@gmail.com>
    PR:             274065

 net-p2p/transmission-components/Makefile | 1 +
 net-p2p/transmission/Makefile            | 1 +
 2 files changed, 2 insertions(+)
Comment 14 Robert Clausecker freebsd_committer freebsd_triage 2023-10-01 16:38:41 UTC
Should be better now.
Sorry for the noise.
Comment 15 marroquin.paul 2023-10-05 20:07:43 UTC
I can't figure out where to join this discussion, sorry for commenting a closed case. 

"pkg install transmission-daemon" doesn't install the binary for transmission-remote. transmission-remote is included in transmission-utils, but running "pkg install transmission-utils" uninstalls transmission-daemon. Just "pkg install net-p2p/trasnmission" installs all the GUI components, which aren't needed on headless system. Should this fix somehow allow installing both the daemon and the remote, or is it still broken?
Comment 16 Rafe 2023-10-05 20:20:51 UTC
(In reply to marroquin.paul from comment #15)
That shouldn't happen. This is fixed in v.4.0.4_4. Have you updated your ports tree / run pkg update?
Comment 17 marroquin.paul 2023-10-05 20:36:07 UTC
(In reply to Rafe from comment #16)
Looks like this happened because latest transmission-daemon for FreeBSD:12:amd64 is 4.0.4_1. The versions on Latest are quite varied for different ABIs, can I expect it would be updated automatically sometime soon for my architecture?

Thanks!
Comment 18 Robert Clausecker freebsd_committer freebsd_triage 2023-10-05 20:47:23 UTC
(In reply to marroquin.paul from comment #17)

Yes, you may need to wait some more for new packages to be built.  There was a bit of a fuck up with the port revision due to me.  Should be cleaned up in a few days.