Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Link to the reason if a package is not available for an arch #384

Open
probonopd opened this issue Sep 17, 2022 · 22 comments
Open

Link to the reason if a package is not available for an arch #384

probonopd opened this issue Sep 17, 2022 · 22 comments

Comments

@probonopd
Copy link

probonopd commented Sep 17, 2022

I frequently find myself wondering why certain packages are not available for certain archs.

It would be enormously helpful if instead of showing empty boxes on

https://www.freshports.org/print/hplip

image

these empty boxes would contain links to

image

instead so that one could know why the package is not available for this arch.

Reference:

@dlangille
Copy link
Contributor

Do you have an example URL please?

@probonopd
Copy link
Author

probonopd commented Sep 17, 2022

@grahamperrin explains it here. Unfortunately the URL scheme does not appear to be super easy.

Looks like the code in question is in https://github.com/bdrewery/pkg-status.freebsd.org, @bdrewery: maybe some APIs could be made for retrieving this kind of information?

@probonopd
Copy link
Author

Maybe link to https://portsfallout.com/port?port=^print/hplip$ (although it doesn't show any failure at the moment, even though the package is missing; @dbaio do you know why?)

@grahamperrin
Copy link
Contributor

grahamperrin commented Sep 25, 2022

@dlangille
Copy link
Contributor

dlangille commented Sep 25, 2022

The portsfallout.out links where added via #181 about two years ago.

The link is at the top of each port page, just to the right of repology, and looks terrible in dark mode.

@grahamperrin
Copy link
Contributor

@probonopd
Copy link
Author

probonopd commented Sep 25, 2022

What I mean is to put a link into the otherwise empty boxes, maybe somewhat like this:

image

But Fallout would have to become a bit more intelligent, so that it would tell us that print/hplip was skipped because net-mgmt/net-snmp failed.

@dlangille
Copy link
Contributor

See https://dev.freshports.org/archivers/arc/#packages

Screen Shot 2022-09-25 at 6 01 19 PM

@grahamperrin
Copy link
Contributor

… Fallout would have to become a bit more intelligent, so that it would tell us that print/hplip was skipped because net-mgmt/net-snmp failed.

From https://portsfallout.com/about:

… an easy way to search/query the FreeBSD pkg-fallout archive. …

https://github.com/dbaio/portsfallout#readme

https://github.com/dbaio/portsfallout/blob/f65703382a2de6bb1456e36b5a646fbb0dbac619/scripts/pkgfallout_scrapy_spider.py#L25

This month's archived e-mails about net-mgmt/net-snmp include https://lists.freebsd.org/archives/freebsd-pkg-fallout/2022-September/275174.html, [package - main-amd64-default][net-mgmt/net-snmp] Failed for net-snmp-5.9.1_1,1 in build.

https://lists.freebsd.org/ there's nothing like a list for skipped ports.

@dlangille
Copy link
Contributor

https://lists.freebsd.org/ there's nothing like a list for skipped ports.

Based on that: nothing more to do here.

grahamperrin added a commit to grahamperrin/freshports that referenced this issue Oct 2, 2022
Re: <FreshPorts#384 (comment)> it's not possible to distinguish between fallout and a skip, so offer an explanation for there being no fallout in response to a click on the fallout icon.
@grahamperrin
Copy link
Contributor

#384 (comment)

… maybe somewhat like this:

image

@dlangille please, it is possible for each single fallout icon to appear only if the user points at the cell?

Maybe an empty cell until pointed at, although (second screenshot below) the previously used dash/hyphen was also effective as a hint.

Rationale

The masses of hazardous fallout (non-availability) sometimes detract from what's of greater interest to the majority of users:

  • availability.

Compare, for example:

fallout galore

– with this, from a Wayback Machine capture a few months ago:

easier to see what's available

@probonopd
Copy link
Author

Agree, a "hover" showing the icon only when the mouse is in the cell would also do the job.

@dlangille
Copy link
Contributor

dlangille commented Oct 11, 2022

These changes are now on test, but not the hover issue mentioned above. Please review them and see if they are OK.

Then I'll tackle the hover.

@grahamperrin
Copy link
Contributor

grahamperrin commented Oct 12, 2022

Details 1. 2. for quarterly 3. `firebird30-client-3.0.7_2` amongst the failures 4. open _coredump_ in a new background tab 5. under _origin_, open _databases/firebird30-client_ 6. edit `www` to `test` then add `#packages` to the tail of `https://test.freshports.org/databases/firebird30-client/` 7. at click point at, but do not click, the quarterly (second) fallout icon for `FreeBSD:13:amd64` 8. from what's in the pop-up, memorise the build date 9. use the quarterly (second) fallout icon for `FreeBSD:13:amd64` any fallout icon to open in a new foreground tab 10. **ignore** the uppermost log for _131amd64-quarterly_ 11. click the log for _131amd64-quarterly_ that matches the **memorised** build date 12. bring the other new tab (from _coredump_) to front 13. check the URLs of the two tabs.

The two are effectively the same:

  • http://beefy14.nyi.freebsd.org/data/131amd64-quarterly/07882fc18e19/logs/errors/firebird30-client-3.0.7_2.log via the coredump link
  • http://beefy14.nyi.freebsd.org/data/131amd64-quarterly/07882fc18e19/logs/firebird30-client-3.0.7_2.log – without errors/ in the URL – via portsfallout.com

– and at https://lists.freebsd.org/archives/freebsd-pkg-fallout/2022-October/date.html by date for this month, the penultimate match for 131amd64-quarterly][databases/firebird30-client] Failed for firebird30-client is https://lists.freebsd.org/archives/freebsd-pkg-fallout/2022-October/279283.html, Sun, 09 Oct 2022 01:34:57 UTC.

Test result: OK. However

@grahamperrin
Copy link
Contributor

UX

… at https://test.freshports.org/databases/firebird30-client/#packages there's an implicit requirement to pay careful attention to the build date, if the end user is to identify the correct log file.

Let's be realistic about the likelihood of users actually paying attention and then knowing what to do with the date.

What's most obvious (uppermost) at the fallout list might be not an explanation for a gap in the table of packages at FreshPorts.


With the databases/firebird30-client example above, at the time of writing there's a parallel build at https://pkg-status.freebsd.org/beefy14/ in progress (neither done, nor crashed), it's this build that produced the log for 131amd64-quarterly that's currently uppermost at the fallout list.

@grahamperrin
Copy link
Contributor

https://test.freshports.org/graphics/py-cairo/ now has 275 fallout links to a single page that confirms, no fallout.


For a port that truly does have fallout: https://test.freshports.org/databases/firebird30-client/#packages in theory, you might customise each fallout cell within the table, to precisely directly link to the historic reason for fallout (or skip) at that point in time.

In reality, for now, the more that I think about this, the general direction to the (one) fallout page for a port is better served by the (one) existing fallout icon that's already at the head of production service (www).


Sorry … that's not intended to be defeatist. Just realistic about what's gained if multiple fallout links to a single page are added. (Am I missing something?)

@dlangille
Copy link
Contributor

  1. https://pkg-status.freebsd.org/builds?jailname=131amd64&type=package
  2. http://beefy14.nyi.freebsd.org/build.html?mastername=131amd64-quarterly&build=07882fc18e19 for quarterly
  3. firebird30-client-3.0.7_2 amongst the failures
  4. open coredump in a new background tab
  5. under origin, open databases/firebird30-client
  6. edit www to test then add #packages to the tail of https://test.freshports.org/databases/firebird30-client/
  7. at https://test.freshports.org/databases/firebird30-client/#packages click point at, but do not click, the quarterly (second) fallout icon for FreeBSD:13:amd64
  8. from what's in the pop-up, memorise the build date
  9. use the quarterly (second) fallout icon for FreeBSD:13:amd64 any fallout icon to open https://portsfallout.com/fallout?port=databases%2Ffirebird30-client%24 in a new foreground tab
  10. ignore the uppermost log for 131amd64-quarterly
  11. click the log for 131amd64-quarterly that matches the memorised build date
  12. bring the other new tab (from coredump) to front
  13. check the URLs of the two tabs.

The two are effectively the same:

  • http://beefy14.nyi.freebsd.org/data/131amd64-quarterly/07882fc18e19/logs/errors/firebird30-client-3.0.7_2.log via the coredump link
  • http://beefy14.nyi.freebsd.org/data/131amd64-quarterly/07882fc18e19/logs/firebird30-client-3.0.7_2.log – without errors/ in the URL – via portsfallout.com

– and at https://lists.freebsd.org/archives/freebsd-pkg-fallout/2022-October/date.html by date for this month, the penultimate match for 131amd64-quarterly][databases/firebird30-client] Failed for firebird30-client is https://lists.freebsd.org/archives/freebsd-pkg-fallout/2022-October/279283.html, Sun, 09 Oct 2022 01:34:57 UTC.

When I start reading this, I wonder: what is this list? Why should I look at this link? Holy shit, I have a lot to review here. What?

Then I read:

Test result: OK. However

OK, no action required here. Phew.

@dlangille
Copy link
Contributor

UX

… at https://test.freshports.org/databases/firebird30-client/#packages there's an implicit requirement to pay careful attention to the build date, if the end user is to identify the correct log file.

Let's be realistic about the likelihood of users actually paying attention and then knowing what to do with the date.

What's most obvious (uppermost) at the fallout list might be not an explanation for a gap in the table of packages at FreshPorts.

With the databases/firebird30-client example above, at the time of writing there's a parallel build at https://pkg-status.freebsd.org/beefy14/ in progress (neither done, nor crashed), it's this build that produced the log for 131amd64-quarterly that's currently uppermost at the fallout list.

My interpretation: No action required.

@dlangille
Copy link
Contributor

https://test.freshports.org/graphics/py-cairo/ now has 275 fallout links to a single page that confirms, no fallout.

For a port that truly does have fallout: https://test.freshports.org/databases/firebird30-client/#packages in theory, you might customise each fallout cell within the table, to precisely directly link to the historic reason for fallout (or skip) at that point in time.

How would that be done? For background, the lists which appear under Packages are meant to be a list of what you can download now. Every hour, at the top of the hour, the package repos are queried to see if there are any new builds available. The packagesite.yaml file is parsed and used to populate the database. This blog post has more: https://news.freshports.org/2020/04/10/what-packages-are-now-available-for-this-port/

How does the code detect the right link to provide?

In reality, for now, the more that I think about this, the general direction to the (one) fallout page for a port is better served by the (one) existing fallout icon that's already at the head of production service (www).

Sorry … that's not intended to be defeatist. Just realistic about what's gained if multiple fallout links to a single page are added. (Am I missing something?)

The whole point of this issue was a link to the fallout page. They are all identical links right now. I'm happy to provide more specific links - perhaps getting the ABI values involved...

@grahamperrin
Copy link
Contributor

grahamperrin commented Oct 13, 2022

Phew

Yeah, I did want to use Details markup, but the result is messy. Done now: #384 (comment) … ugh, all the URLs disappeared, etc., never mind.

@grahamperrin
Copy link
Contributor

… They are all identical links right now. I'm happy to provide more specific links …

Oh, that'll be smart, if it's possible.

(I imagined it not possible. Sorry.)

@dlangille
Copy link
Contributor

… They are all identical links right now. I'm happy to provide more specific links …

Oh, that'll be smart, if it's possible.

(I imagined it not possible. Sorry.)

I have not imagined how to do it. I will leave that to someone with more time. :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants