[csw-maintainers] addition to CSWcommon?

Maciej (Matchek) Blizinski maciej at opencsw.org
Sat Jan 1 14:54:23 CET 2011


No dia 31 de Dezembro de 2010 19:59, Ben Walton <bwalton at opencsw.org> escreveu:
> Excerpts from Maciej (Matchek) Blizinski's message of Wed Dec 29 21:52:33 -0500 2010:
>
> Hi Maciej,
>
>> The 'none' class creates the missing files automatically, and we have
>> a large number of files that are missing base directories.
>
> I like the intent, but I'm not sure I like the result.  Wouldn't it be
> better to simply tell the maintainer to ensure the package provides
> this directory instead of potentially suggesting that the package
> depend on other random looking (although definitely not random)
> packages that do?

I was thinking about a suggestion along the lines of "ginstall -m 755
-d $(PKGROOT)/<basedir>", but it's hard to suggest a directory that
gar will later exclude from the package.  We could try to distinguish
between directories that are supposed to be common and inherited from
CSWcommon and directories that a package has to provide by itself.

We could add a message along those lines:

diff --git a/gar/v2/lib/python/package_checks.py
b/gar/v2/lib/python/package_checks.py
index 9707b15..c570e7b 100644
--- a/gar/v2/lib/python/package_checks.py
+++ b/gar/v2/lib/python/package_checks.py
@@ -1176,6 +1176,11 @@ def CheckBaseDirs(pkg_data, error_mgr, logger,
messenger):
           base_dir,
           "%s contains %s which needs a base directory: %s."
           % (pkgname, repr(pkgmap_entry["path"]), repr(base_dir)))
+      messenger.Message(
+          "%s contains %s which needs a base directory: %s. "
+          "You can either depend on a package which provides this directory, "
+          "or provide this directory in your package."
+          % (pkgname, repr(pkgmap_entry["path"]), repr(base_dir)))


 def CheckDanglingSymlinks(pkg_data, error_mgr, logger, messenger):

I agree that suggesting a gazillion unrelated looking packages might
be confusing.  We could stop doing that and only report missing base
directories, but... if the right choice is to add a dependency,
finding the right dependency by hand is a PITA.  (Unless you know
tricks such as "bin/pkgdb show filename /etc/opt/csw/init.d".)


More information about the maintainers mailing list