On Tue, 2010-01-19 at 14:18 -0800, Martin Bligh wrote: > On Tue, Jan 19, 2010 at 12:52 PM, James Laska <[email protected]> wrote: > > Greetings, > > > > I have been working on packaging autotest and it's dependencies for use > > in Fedora. During the formal review of autotest-client for inclusion > > into Fedora [1], several concerns were raised around the filesystem > > layout used in the Fedora autotest-client package. Specifically, how > > all content lives under '/usr/local/autotest'. Before attempting to > > address this, I wanted to bring the issues to the list for a wider > > discussion. > > > > The first issue regards the placement, and usage, of files and > > directories beneath /usr/local/autotest [2]. For example, in Fedora, > > the following locations are accepted: > > * python libraries -> typically /usr/lib/pythonX.Y/ > > * binaries/executables -> /usr/{sbin,bin} or /{sbin,bin} > > * pid files -> /var/run/ > > * log files -> /var/log/ > > * Config .ini files -> /etc/ > > * test results/ -> unsure, possible somewhere under /var > > > > Turns out, this won't be too much trouble to accommodate from a > > packaging perspective. I don't think it's uncommon to for the > > packaging-layer to rework where content lives on the system. However, I > > think a potential obstacle might be ... > > Not sure what the issue is here - can you clarify. Generally we don't touch > anything outside of autotest dir, so we shouldn't violate anything.
This certainly doesn't affect upstream autotest. But when it comes to
packaging autotest for Fedora, there are guidelines where certain types
of files should (or must in some cases) live.
> > The second issue concerns removing any hard-coded references to the
> > directory '/usr/local/autotest'. In order to accomplish the shuffling
> > of files in accordance with packaging guidelines, I need to
> > remove/adjust any references to '/usr/local/autotest' and be sure that
> > autotest can function with it's files in standard system locations
> > (e.g. /usr/sbin/, /usr/lib/pythonX.Y, /etc/ ...).
>
> That's going to be challenging, it's designed to operate completely as
> one installable package under one directory. It certainly should *not*
> be hardcoded to /usr/local/autotest, it should work from anywhere
> you put that dir, but it does expect everything it a normalized
> structure under one directory.
Okay, that makes sense. The current version of my Fedora
autotest[-client] packages relocates everything to '/usr/share/autotest'
to comply with vendor packaging guidelines in the FHS. From what I can
tell from a current SVN checkout, there isn't a whole lot that hard
codes '/usr/local/autotest' [1]. For files that do, we apply several
small patches during package prep [2] [3] [4].
The next question during Fedora package review was whether it was a hard
requirement that autotest have everything installed under the same
directory. Typically for software packaged in Fedora, content is
installed on the system in expected system locations (like I mentioned
previously ... /sbin, /etc, /usr/lib/pythonX.Y etc...).
I'm curious what would break if I started shuffling content around to
system-wide directories. Things that stand out for me ...
* The entire process of secure rsync'ing content between the
server and client systems (SSHHost)
* Anything that does 'import common' would likely need adjustment
(either by patch or by setting PYTHONPATH)? -- thanks to Gregory
Smith for pointing this out
* What else? I'm looking through the wiki doc (inc
http://autotest.kernel.org/wiki/DirectoryStructure), and I'm
sure I'm missing something?
> > Some questions to initiate discussion ...
> >
> > 1. Before I proceed, has this topic come up before? Has anyone
> > looked into what it would take to remove any hard-coded
> > '/usr/local/autotest' references?
> > 2. There are several global_config.ini configured directories
> > already, should I persue this same mechanism to further
> > accommodate autotest content (bins, libs, cfgs, logs etc...)
> > living in system-wide locations?
>
> There can feasibly be several different copies of autotest, with different
> versions and configs running simultaneously.
Interesting, I hadn't thought of that.
> > 3. Other solutions not considered?
> > 4. Would there be any interest in reviewing any proposed patches
> > for inclusion into autotest?
>
> It needs to continue to work in the way it does now, but if you can
> make it work with alternate locations as well without breaking that,
> I guess we can look at patches to do that. One big concern is making
> sure that this doesn't get broken in the future, as nobody else will be
> using this setup.
>
> If possible, I'd strongly encourage you to keep it all under one directory
> as a package, maintenance will be a lot easier
No doubt, it *definitely* would be easier. :) Part of my goal for this
is to come away with a better understanding of the effort/changes needed
to package autotest to comply with Fedora packaging standards. From
there, I'll need to make a determination on how best to proceed with
Fedora packaging based on the complexity and maintenance of local
patches.
Thanks,
James
[1] http://pastie.org/786307
[2]
http://jlaska.fedorapeople.org/autoqa/0001-Change-usr-local-to-usr-share-where-necessary.patch
[3]
http://jlaska.fedorapeople.org/autoqa/0003-Adjust-apache-config-paths-for-a-Red-Hat-Fedora-styl.patch
[4]
http://jlaska.fedorapeople.org/autoqa/0004-Change-usr-local-to-usr-share.patch
signature.asc
Description: This is a digitally signed message part
_______________________________________________ Autotest mailing list [email protected] http://test.kernel.org/cgi-bin/mailman/listinfo/autotest
