Coder Social home page Coder Social logo

gentoo-scripts's People

Contributors

jonasstein avatar mm1ke avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

gentoo-scripts's Issues

FR: List packages with obsolete eclasses

obsolete:
inherit fdo-mime
this should be replaced by xdg-utils and its functions.
https://devmanual.gentoo.org/eclass-reference/xdg-utils.eclass/

repoman can detect this too and claims
app-office/texstudio/texstudio-2.11.2-r1.ebuild: please migrate from 'fdo-mime' to 'xdg-utils' on line: 6

qgrep -Ne "inherit.* fdo-mime"

can list ebuilds where inherit has no linebreak and need some care. Perhaps that is enough for a start...

Gentoo has also a list, but no sorting by maintainer...
https://qa-reports.gentoo.org/output/eclass-usage/fdo-mime.txt

false positive srctest

I think this is a false positive:

http://gentoo.levelnine.at/srctest/sort-by-maintainer/tex_at_g.o.txt
dev-tex/latex2html|http://mirrors.ctan.org/support/latex2html/latex2html-2017.2.tar.gz|[email protected]:

FR: Ignore packages which are masked for treecleaning

many packages which are in /usr/portage/profiles/package.mask have several bugs and flood the lists.
But they are masked for removal already and should not be printed.

cat /usr/portage/profiles/package.mask | grep -v "^#"
perhaps it is the easiest to remove them in the end, or remove from the todo-list?
Is this what the whitelist is good for?

FR: dataformat

The dataformat is now
sys-apps;fwts;fwts-17.02.00;403;https://wiki.ubuntu.com/Kernel/Reference/fwts;[email protected]:
I suggest to change it to

403;sys-apps/fwts;fwts-17.02.00;https://wiki.ubuntu.com/Kernel/Reference/fwts;[email protected]:
because the first key is better to sort and search for.
The category/package should be written with / sys-apps/fwts

ps: I know that already several packages were fixed on basis of your list.

FR: Add an explanation file for each topic.

I suggest to add a file with more information on the problem.
I am not sure, if it is better to put/link one file in each folder, or maintain one central file.
It could be also a page in the personal user space of wiki.gentoo.org
or markdown on github?
I think it is important to add links there and that many users can contribute to the explanations.

The content should be a short explanation for the developer
Why, is this a problem? Where is it documented? How to fix it?

I think this would motivate more people to fix things...

000-README.txt or
000-README.md or
000-EXPLANATION.txt

FR: metadata lists [email protected], but no proxied maintainer

Just saw dev-vcs/stgit had
[email protected], but no proxied maintainer in metadata.
Perhaps there are more packages to fix.
The trick is to filter the upstream contacts. I think this works best with the python library.

There are two interesting cases to filter:

  1. Proxy-maintained packages without [email protected] https://bugs.gentoo.org/634270

  2. Proxy-maintained packages without a proxy maintainer (no @gentoo.org) https://bugs.gentoo.org/633314

FR: lists sorted by number

Taking this page as an example, I'd like to have an alt version which sorts the list by QTY instead
of Maintainer. This is quasi-related to my previous feature request, as it would allow the 'juiciest'
targets to float to the top for folks looking for QA issues that can be fixed in bulk.

FR: Go to home link

I suggest to add a link go to home page on each page.
Example:

List generated on 2018-02-24
Total Maintainers: 207
go to home page

This helps people to find out more statistics, if they got only a link to a deep page.

FR: update hierarchy

The actual hierarchy is quite chaotic. This should be improved.
Ideas are welcomed.

README add duration

Could you add to a README: How long does one run take each (just a rough number...)?
like ~3 h on 1 thread i7-3770, ping 20ms

FR: RESTRICT=mirror + SRC_URI = fatal bug

#I suggest to test, if RESTRICT mirror is set for any in the list with broken SRC_URI
These packages are unable to be installed and should be fixed soon, or last rited.
Important would be to know if the package is already masked.

FR: Missing die test "suspicious_missing_die"

Very often || die is missing behind echo to files or sed

For example:
echo '#!/bin/true' >share/genbuild.sh
should be
echo '#!/bin/true' >share/genbuild.sh || die

I think this will be part of a group of tests, which will never be 100% accurate, but remembers the maintainer to double check the line manually.

The following line lists all ebuilds with no die behind echo, while it is likely written to files there
qgrep -Nx "echo .* > " | grep -v die

Should we have a category suspicious for tests which will likely contain many false positives but are worth a verification?

We need the test for

  • echo
  • sed
  • rm
  • cp
  • mv

FR: .zip dependency missing

If SRC_URI downloads a .zip or similar, we need a dependency on app-arch/unzip in all ebuilds EAPI=1-6. I do not know about 7.

There may be a few strange false positives. For example, if it is a zipped plugin and the program can unzip itself. But this will be very seldom.

FR: Is HOMEPAGE different for ebuilds in the same package?

In most cases, we expect that HOMEPAGE is the same for all ebuilds in one package.
Often this is not the case, because when updating the HOMEPAGE when the project moved it was forgotten to update the old ebuilds in the tree too.

Updating HOMEPAGE does not even require a revision bump and could be fixed easily, if at least one ebuild has a working value. Perhaps it is best combined with the HTTP status codes (https://en.wikipedia.org/wiki/List_of_HTTP_status_codes) which are available anyway:

404|foo/bar-1.0|http://fooo/bar
200|foo/bar-9999|https://foo.codehub.example.com/
000|foo/bar-9999|http://dyn.offlinefooo/bar

FR: missing gnome2_icon_cache_update()

Many packages use icons, but do not call gnome2_icon_cache_update()

I do not know which script does find this at the moment.
Some ideas:
one could grep for icon (does not work well picard does not use "icon" for example), or look up which files are installed on http://portagefilelist.de/
http://files.portagefilelist.de/sqldump/

this database can be a good tool for many tests.

there are also ehelper functions doicon and newicon, but some packages copy the files in a creative manner.
Probably the best to start with a non perfect solution and improve later.

This is how the problem is displayed after installation

>>> Installing (11 of 11) media-sound/picard-1.4.2::gentoo
 * QA Notice: new icons were found installed but GTK+ icon cache
 * has not been updated:
 *   /usr/share/icons/hicolor/16x16/apps/picard.png
 *   /usr/share/icons/hicolor/256x256/apps/picard.png
 *   /usr/share/icons/hicolor/32x32/apps/picard.png
 *   /usr/share/icons/hicolor/128x128/apps/picard.png
 *   /usr/share/icons/hicolor/scalable/apps/picard.svg
 *   /usr/share/icons/hicolor/48x48/apps/picard.png
 *   /usr/share/icons/hicolor/24x24/apps/picard.png
 * Please make sure to call gnome2_icon_cache_update()
 * in pkg_postinst() and pkg_postrm() phases of appropriate pkgs.
 * QA Notice: .desktop files with MimeType= were found installed
 * but desktop mimeinfo cache has not been updated:
 *   /usr/share/applications/picard.desktop
 * Please make sure to call xdg_desktop_database_update()
 * in pkg_postinst() and pkg_postrm() phases of appropriate pkgs.

A table, which folders should trigger which function is now on this page: https://wiki.gentoo.org/wiki/Notes_on_ebuilds_with_GUI

Repo request: abendbrot

I would appreciate adding the abendbrot overlay to the listing. I use it myself, and I can
see quite a lot of QA issues even at a glance.

FR: high profile QA issues.

Basically, I'd like the website to feature a listing which lists ebuilds/etc which feature <= N amount
of QA issues across the board. In this way, one can easily scope out which ebuilds can be fixed
to reduce the amount of QA issues the most, and provide a sort of focal point.

I'm unsure which number N should be, or if we even have any ebuilds which feature 3 or more QA
issues, but its an interesting thought.

FR: List packages which miss the LICENSE variable

qgrep -NL LICENSE

I fear there could be some false positives, because there could be for example an eclass introducing a license technically.

/usr/portage/eclass$ grep LICENSE *
reveals for example the freebsd eclass.

An output folder could be for example
/LICENSE_missing/sort-by-maintainer/...

FR: check for broken ssl certificates

Check for srcfile's where the site certification is broken. Maybe also check HOMEPAGES?
Note: --no-check-certificate

Just to not forget about that..

FR: live ebuilds not on latest EAPI

Live ebuilds are by definition in constant flux, as you'll get a different result each time you build
them for the most part. By adding them to your package.accept_keywords you effectively opt in
to this inherent instability. As such, they are the perfect place to bump EAPI in-place, without
revbumps or the like.

I'd like a listing of all live ebuilds that are not EAPI 6 for now, and 7 once that's finalized and support
is added to portage and eclasses, so we can advance the usage.

parallel threads

I like that the code is so clear and straight forward.
I guess, you could speed it up a lot with
sys-process/parallel

But I have no idea, how to keep the code still so clear.
Just wanted to let you know...

FR: find bad installation folders

I just saw, that some packages install into strange folders (for example https://bugs.gentoo.org/635032)

One can get an overview with

qgrep exeinto | grep -v "\\$" | sort | uniq # raw list
qgrep exeinto | sed -e "s/  //g" | grep -v "\\$" | sort | uniq -c | grep -v "usr/bin" # filtered, with histogram

Gentoo packages should follow https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard if possible.

I have no idea yet, how we can filter the "bad" folders and we will have to look at them in detail.
We should have an eye on

exeinto /var*
exeinto /etc/udev*
exeinto /
exeinto /usr/share/   << some may be fine here
exeinto /opt/bin (1)

1) The directories /opt/bin, /opt/doc, /opt/include, /opt/info, /opt/lib, and /opt/man are reserved for local system administrator use. Packages may provide "front-end" files intended to be placed in (by linking or copying) these reserved directories by the local system administrator, but must function normally in the absence of these reserved directories. http://www.pathname.com/fhs/pub/fhs-2.3.html#OPTADDONAPPLICATIONSOFTWAREPACKAGES

FR: A list of all problems per maintainer

if developer bob wants to know if any of his packages has a problem, he hast to walk through many subfolders.
It would be nice to have a folder, where all problems are sorted by maintainer.

I have no good idea for the representation of this data
perhaps it is the fastest, to prepare something like

http://gentoo.levelnine.at/all_by_maintainer/bob_at_g_o/srctest.txt
http://gentoo.levelnine.at/all_by_maintainer/bob_at_g_o/patchtest.txt

FR: List duplicate USE flags

Global USE flags do not need to be redefined locally.

global
hddtemp: Enable monitoring of hdd temperature (app-admin/hddtemp)

exists. But in the metadata of gkrellm is it defined again.

$ equery uses gkrellm
[ Legend : U - final flag setting for installation]
[        : I - package is installed with flag     ]
[ Colors : set, unset                             ]
 * Found these USE flags for app-admin/gkrellm-2.3.10-r1:
 U I
 + + X          : Build both the X11 gui (gkrellm) and the server (gkrellmd). Disabling this flag builds the server only
 - - gnutls     : Enable SSL support for mail checking with net-libs/gnutls (overrides 'ssl' USE flag)
 - - hddtemp    : Enable monitoring harddrive temperatures via app-admin/hddtemp
 - - libressl   : Use dev-libs/libressl as SSL provider (might need ssl USE flag), packages should not depend on this USE flag
 - - lm_sensors : Enable monitoring sensors via sys-apps/lm_sensors
 + + nls        : Add Native Language Support (using gettext - GNU locale utilities)
 - - ntlm       : Enable NTLM authentication for mail checking with net-libs/libntlm
 + + ssl        : Enable SSL support for mail checking with dev-libs/openssl

see also https://wiki.gentoo.org/wiki/Handbook:AMD64/Working/USE about USE flags.

FR: maintainer-needed

Thank you very much for the very useful script.
It would be nice to have a user "[email protected]" for packages without maintainer (this means there is literally no maintainer in the metadata.xml).
As far I could see, they are not listed at the moment.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.