FS#16079 - [evms] evms_activate should be installed to /sbin

Attached to Project: Arch Linux
Opened by Florian Friesdorf (chaoflow) - Monday, 07 September 2009, 15:36 GMT
Last edited by Allan McRae (Allan) - Saturday, 19 September 2009, 06:23 GMT
Task Type Feature Request
Category Packages: Extra
Status Closed
Assigned To Allan McRae (Allan)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

EVMS support as described at http://wiki.archlinux.org/index.php/Installing_Arch_Linux_with_EVMS is not possible for systems where / and /usr are on separate EVMS volumes, as evms_activate is installed to /usr/sbin which is not available but needed to mount the /usr EVMS volume.

evms_activate is linked to /usr/lib/libevms-2.5.so.0, but otherwise as no /usr link dependencies.
/usr/lib/libevms-2.5.so.0 in turn has no /usr link dependencies.

evms should be configured without --prefix (by default evms installs to /sbin and /lib):
./configure --sysconfdir=/etc --localstatedir=/var --mandir=/usr/share/man

Any reason why this might be bad?

Severity: Critical, as it is critical for EVMS systems with separate / and /usr file systems
This task depends upon

Closed by  Allan McRae (Allan)
Saturday, 19 September 2009, 06:23 GMT
Reason for closing:  Fixed
Comment by Allan McRae (Allan) - Wednesday, 09 September 2009, 12:38 GMT
Implemented in evms-2.5.5-8 in [testing]. Please test it out (it is safe to use without using all testing packages).
Comment by Florian Friesdorf (chaoflow) - Wednesday, 09 September 2009, 12:52 GMT
I synced abs from rsync.archlinux.org (ARCH=x86_64) but there is no evms in the testing subdir.
Comment by Allan McRae (Allan) - Wednesday, 09 September 2009, 12:54 GMT
The ABS tree is only updated once a day. You can use SVN: http://www.archlinux.org/svn/
Comment by Florian Friesdorf (chaoflow) - Wednesday, 09 September 2009, 13:56 GMT
thx - checked out via svn

I am not sure about the files you are moving from /sbin and /lib to /usr/sbin and /usr/lib. evmsgui surely can be moved but for all the others I think they are useful in case there are problems and you only have your root filesystem (that is, if root is non-evms and everything else is evms). In case root is evms, too, those files should also be available in the initramfs.

As I have a shared fs for root and usr I can't do further testing, right now.
Comment by Allan McRae (Allan) - Wednesday, 09 September 2009, 13:59 GMT
I basically followed what Debian used to do with their evms package in choosing what to move. I felt they were fairly sensible, but am happy to move them back if convinced it is a good idea.
Comment by Florian Friesdorf (chaoflow) - Wednesday, 09 September 2009, 14:47 GMT
Not sure what debian is doing there, but for archlinux I would like to see (current paths according to your testing package 2.5.5-8):

/sbin/evms:
no /usr dependency
CLI for evms
--> should stay in /sbin

/sbin/evms_activate:
no /usr dependency
needed to create dev files
--> should stay in /sbin

/sbin/evms_mpathd
/sbin/evmsd
I don't know/use these tools, no opinion on where they should be

/sbin/evmsn:
/usr dependency
--> should be moved to /usr/sbin or statically linked

/usr/sbin/evms_gather_info:
relies on /usr/bin/perl
-> I would also put into /usr/sbin

/usr/sbin/evms_metadata_backup/_restore:
no /usr dependency
If something is messed up, I'd like to be able to backup/restore evms metadata
-> I would leave in /sbin

/usr/sbin/evms_query:
no /usr dependency
delivers information about evms components
--> I would leave in /sbin

/usr/sbin/evmd_worker:
I don't know it, but according to evmsd_worker --help might be launched by evmsd
--> Same location as evmsd, wherever that should be

About the lib symlinks and move of the .a lib, I have no idea, would trust Debian.

With the tools you put into /sbin, it should be possible to activate evms. The ones I am proposing would be good for recovery, I feel.
Comment by Florian Friesdorf (chaoflow) - Thursday, 10 September 2009, 15:43 GMT
in evms_install, which is copied to /lib/initcpio/install/evms

-add_binary "/usr/sbin/evms_active" "/sbin/evms_activate"
+add_binary "/sbin/evms_active" "/sbin/evms_activate"

And, one who uses this new evms package, needs to take care that the path for evms_activate in /etc/rc.sysinit is correct.
Comment by Allan McRae (Allan) - Saturday, 12 September 2009, 02:37 GMT
Fixed the lib/initcpio/install/evms file and made the following changes:

usr/sbin/evms_metadata_backup > sbin/evms_metadata_backup
usr/sbin/evms_metadata_restore > sbin/evms_metadata_restore
usr/sbin/evms_query > sbin/evms_query
usr/sbin/evmsd_worker> sbin/evmsd_worker
sbin/evmsn > usr/sbin/evmsn

evms-2.5.5-9 uploaded to the [testing] repo. If I do not hear of any issues in the next few days, I will move to [extra] and close this bug.
Comment by Florian Friesdorf (chaoflow) - Saturday, 12 September 2009, 17:57 GMT
looks good so far.

I suggest to extend lib/initcpio/install/evms to add all /sbin/evms* files to the initramfs, i.e.
/sbin/evms
/sbin/evms_activate
/sbin/evms_metadata_backup
/sbin/evms_metadata_restore
/sbin/evms_mpathd
/sbin/evms_query
/sbin/evmsd
/sbin/evmsd_worker
Comment by Allan McRae (Allan) - Saturday, 19 September 2009, 06:23 GMT
I do not think those files are necessary for the initramfs. I added lib/initcpio/install/evms to the backup array on SVN trunk so that file will not be overwritten next update and you can make any changes that you want.

Moving packages to [extra] and closing...

Loading...