Spec URL: http://people.redhat.com/markmc/stacaccli/stacaccli.spec SRPM URL: http://people.redhat.com/markmc/stacaccli/stacaccli-0.2-1.src.rpm Description: Stateless Linux is not a deployment model. It is not any single technology. It's a new way of thinking about how a system is supposed to run and be managed. The "Cached Client" mode of deploying stateless clients is similar to using a network mounted root filesystem, except that an entire copy of the OS image is cached locally thereby allowing offline support and better performance. stacaccli contains the tools needed for running a cached client. stacaccli-install is responsible for installing such a client by initializing the local cache of the OS image. stacacclid is a daemon which downloads updates from the image server and integrates them into the local image cache.
Some notes: - Overview of what this is all about: http://fedoraproject.org/wiki/StatelessLinuxCachedClient - In order for the updating part of this to work, we need a new "snapshot merging" feature in LVM and device-mapper. Patches here: http://www.gnome.org/~markmc/code/lvm-snapshot-merging/ agk is currently reviewing these for upstream inclusion. The cached client install part works without this feature, though. - Only works on i386 and x86_64 currently. The partitioning and bootloader code is specific to these arches.
NEEDSWORK: - pyver checking not necessary. Python now autoadds the python(abi) requirement. - needs 'noarch' listed in ExclusiveArch. - Currently our build system doesn't like the combo of BuildArch: noarch and ExclusiveArch: i386 x86_64. As a workaround I would put noarch in the ExclusiveArch. I don't know what this will do for composes though, we need to fix the build system. - rpmlint output on the packages: E: stacaccli explicit-lib-dependency libxml2-python E: stacaccli non-executable-script /usr/lib/python2.4/site-packages/stacaccli/common/bootloader.py 0644 E: stacaccli non-executable-script /usr/lib/python2.4/site-packages/stacaccli/common/config.py 0644 E: stacaccli non-executable-script /usr/lib/python2.4/site-packages/stacaccli/common/fileutils.py 0644 E: stacaccli non-executable-script /usr/lib/python2.4/site-packages/stacaccli/common/grabutils.py 0644 E: stacaccli non-executable-script /usr/lib/python2.4/site-packages/stacaccli/common/imagemetadata.py 0644 E: stacaccli non-executable-script /usr/lib/python2.4/site-packages/stacaccli/common/__init__.py 0644 E: stacaccli non-executable-script /usr/lib/python2.4/site-packages/stacaccli/common/logger.py 0644 E: stacaccli non-executable-script /usr/lib/python2.4/site-packages/stacaccli/common/lvm.py 0644 E: stacaccli non-executable-script /usr/lib/python2.4/site-packages/stacaccli/common/shvar.py 0644 E: stacaccli non-executable-script /usr/lib/python2.4/site-packages/stacaccli/common/sysutils.py 0644 E: stacaccli non-executable-script /usr/lib/python2.4/site-packages/stacaccli/common/udevmonitor.py 0644 E: stacaccli non-executable-script /usr/lib/python2.4/site-packages/stacaccli/daemon/config.py 0644 E: stacaccli non-executable-script /usr/lib/python2.4/site-packages/stacaccli/daemon/__init__.py 0644 E: stacaccli non-executable-script /usr/lib/python2.4/site-packages/stacaccli/daemon/main.py 0644 E: stacaccli non-executable-script /usr/lib/python2.4/site-packages/stacaccli/daemon/updater.py 0644 E: stacaccli non-executable-script /usr/lib/python2.4/site-packages/stacaccli/__init__.py 0644 E: stacaccli non-executable-script /usr/lib/python2.4/site-packages/stacaccli/install/config.py 0644 E: stacaccli non-executable-script /usr/lib/python2.4/site-packages/stacaccli/install/__init__.py 0644 E: stacaccli non-executable-script /usr/lib/python2.4/site-packages/stacaccli/install/installer.py 0644 E: stacaccli non-executable-script /usr/lib/python2.4/site-packages/stacaccli/install/main.py 0644 W: stacaccli incoherent-init-script-name stacacclid W: stacaccli incoherent-version-in-changelog 0.1-1 0.2-1 W: stacaccli non-conffile-in-etc /etc/rwtab.d/stacaccli W: stacaccli strange-permission stacaccli.spec 0600
Thanks (In reply to comment #2) > - pyver checking not necessary. Python now autoadds the python(abi) requirement. Done. > - needs 'noarch' listed in ExclusiveArch. Done. > E: stacaccli explicit-lib-dependency libxml2-python Not actually a lib dependency. Just matches the regex. > E: stacaccli non-executable-script > /usr/lib/python2.4/site-packages/stacaccli/common/bootloader.py 0644 [snip more non-executable-script] Yes, they're python modules and not intended to be executable, even though they start with #! Fairly common with python code e.g. rpmlint yum. > W: stacaccli incoherent-init-script-name stacacclid i.e. rename the initscript stacaccli ? It starts the daemon (stacacclid), so I think the current name is probably more appropriate. > W: stacaccli incoherent-version-in-changelog 0.1-1 0.2-1 Fixed. > W: stacaccli non-conffile-in-etc /etc/rwtab.d/stacaccli /etc/rwtab isn't marked with %config, and I don't think it's correct to mark this one either. > W: stacaccli strange-permission stacaccli.spec 0600 Fixed.
rpmlint package does not have a sha-bang in the module files not designed to be executed directly. They really don't belong there. The complaint about a direct lib requirement is because rpm itself can most often figure out the package requirements on its own. Is this not the case if you remove the Requires: line? (This may not work for python module requirements) Getting more input on the rwtab issue.
More info on rwtab. Since the rwtab file will be package version specific most likely, its not designed to be user editable right? And thus it can't be marked noreplace, so there is little value (other than rpmlint) in marking it as config. You can ignore if the above assumptions are true.
Closing this as deferred for now - the device-mapper changes didn't make it into the kernel in time for feature freeze Thanks