Missing package definition

321 views
Skip to first unread message

Sam Richards

unread,
Feb 20, 2020, 8:56:39 PM2/20/20
to rez-config
We have been localizing rez packages on macs, but have been running into problems where the cleanup of the older packages leaves a empty (or partially empty) version directory, which causes the following error:

C:\Users\richs128\rez\packages\wdi_desktop>rez-env wdi_desktop
rez: PackageDefinitionFileMissing: Missing package definition file: FileSystemPackageResource({'version': '0.2.0', 'repository_type': 'filesystem', 'location': 'C:\\Users\\richs128\\rez\\packages', 'name': 'wdi_desktop'})

I suspect that an application is using that package when I'm uninstalling it and using a newer one (which clearly is not great) and possibly doing a file-lock on some of the files, but typically for python code not typically a problem if all the modules are loaded.

Is it possible for it to ignore directories that don't have the package.py file, rather than throw an error?

Sam.

Halil Mehmet

unread,
Feb 21, 2020, 2:51:48 AM2/21/20
to rez-c...@googlegroups.com
Hey Sam,

My approach so far has been to run an ignore filter in the rezconfig.yml for underscored prefix packages and then do a rename on version folders before cleaning them up. I also only attempt to remove localised packages that have not been resolved in the last 2 weeks. The localisation script we have runs on each resolve, so it writes a ".lastResolve" file that I can query the ctime of for this purpose.

Cheers,
Halil

--
You received this message because you are subscribed to the Google Groups "rez-config" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rez-config+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rez-config/2aa650f7-d56f-4fa0-8b62-81e12ba5403c%40googlegroups.com.


--
Halil Mehmet
Lead Pipeline Technical Director
Flying Bark Productions

P:  +61 2 8568 5555  | E: halil....@flyingbark.com.au | W: www.flyingbark.com.au


Allan Johns

unread,
Feb 21, 2020, 4:07:27 PM2/21/20
to rez-c...@googlegroups.com
Hey Sam and Halil,

It's not well documented, but you can put `.ignore<version>` files into a package repo (in the non-versioned package family dir), and those packages will then become invisible. This is the best way to do it as it means no directory renaming (and possibly breakage of processes using that package). I would do this and then actually delete the package after some delay (a week? a month?).

In terms of tracking resolves, there is also a new feature that publishes all resolves (and context sources) to AMQP, see https://github.com/nerdvegas/rez/wiki/Configuring-Rez#context_tracking_amqp.

Something I want to start doing is tracking insufficient documentation as issues. Regarding this thread, I have created https://github.com/nerdvegas/rez/issues/856

Hth
A




Christian Korneck

unread,
Feb 23, 2020, 9:43:25 AM2/23/20
to rez-c...@googlegroups.com


On 21. Feb 2020, at 22:07, Allan Johns <nerd...@gmail.com> wrote:

In terms of tracking resolves, there is also a new feature that publishes all resolves (and context sources) to AMQP, see https://github.com/nerdvegas/rez/wiki/Configuring-Rez#context_tracking_amqp.

Alexander Kalyuzhnyy

unread,
Apr 23, 2020, 4:27:19 PM4/23/20
to rez-config
Hi, Sam
We have windows app launcher for remote workers, where all rez packages localized during install, but because we have partial online package updates, sometimes we run into problems with version cleanup like yours.
I fixed this with rezconfig.py option
...
plugins = {"package_repository": {"filesystem":{"check_package_definition_files": True} } }
...

And suprised no one mention this solution. Maybe because it have some undocumented consequences?

Alex
пятница, 21 февраля 2020 г., 4:56:39 UTC+3 пользователь Sam Richards написал:
Reply all
Reply to author
Forward
0 new messages