Open dlangille opened 4 years ago
Perhaps each type of this metaport must be handled separately. Perhaps by a table, with filename and variable name, and perhaps a connection to the USES variable.
This is the list of known KDE metaports
freshports.dev=# SELECT category || '/' || name, uses FROM ports_active WHERE uses LIKE '%metaport%' AND uses LIKE '%kde%' ORDER BY 1;
?column? | uses
--------------------------------+---------------------
accessibility/kdeaccessibility | kde:5 metaport
deskutils/kdepim | kde:5 metaport
devel/kdesdk | kde:5 metaport qt:5
games/kdegames | kde:5 metaport
graphics/kdegraphics | kde:5 metaport qt:5
misc/kdeedu | kde:5 metaport
misc/kdeutils | kde:5 metaport
multimedia/kdemultimedia | kde:5 metaport qt:5
net-im/kde-telepathy | metaport kde:5
net/kdenetwork | kde:5 metaport qt:5
sysutils/kdeadmin | kde:5 metaport
x11/kde-baseapps | kde:5 metaport
x11/kde5 | kde:5 metaport qt:5
x11/kf5-frameworks | metaport kde:5 qt:5
x11/plasma5-plasma | kde:5 metaport qt:5
(15 rows)
freshports.dev=#
For the kde one's you could probably trigger a refresh of the ones that have the
USES=kde:5 metaport
combination. The other ports using kde.mk
(in general) have a a dinstinfo
file and are therefore touched automatically on changes to the version defined in kde.mk
.
pasting in from IRC so that the reasoning gets saved:
So how do I detect appropriate updates to Mk/Uses/kde.mk ? Do I refresh all 15 metaports with each change? Do I get FreshPorts to know each of the VERSION variables in kde.mk?
I think the cleanest way so far is to update all 15 port whenever a change to kde.mk occurs
There is no easy way to know if one of the vars has changed unless the DB knows the current var values and for that it needs to know ALL of the vars. When a new var is added, it needs to be added to FreshPorts. All of this could be data driven, in a table.
Changes to this file do not occur often. It's just a matter of running a bunch of make -V
When a change to kde.mk is detected, run the above SQL, get the list of ports to update, then update them.
Case in point: https://www.freshports.org/x11/plasma5-plasma
Latest commit says 5.16.5 yet we find this: