Journey Trying to get Vesta to run on Cygwin
Journey Trying to get Vesta to run on Cygwin
This page http://www.lilypond.org/web/devel/packaging seems to have details on setting up another program under cygwin. Might help here.
problems w/ dependencies
rpm has trouble finding dependencies. Even linking /bin/sh -> /bin/ash doesnt satisfy rpm's dependencies. I think that's because the rest of the cygwin "os" wasn't installed via rpm.
There's some way to specify the capabilities that the os provides. Didnt try yet.
rpm -i c:/a_no_backup/dl/vsrun-1.3-1gcc3.3.i386.rpm
resulted in
error: Failed dependencies: ld-linux.so.2 is needed by vsrun-1.3-1gcc3.3 libc.so.6 is needed by vsrun-1.3-1gcc3.3 /bin/sh is needed by vsrun-1.3-1gcc3.3 libc.so.6(GLIBC_2.0) is needed by vsrun-1.3-1gcc3.3
i ignored with --nodeps
missing /etc/mtab
ignoring dependencies, and crossing my fingers...
rpm -i --nodeps c:/a_no_backup/dl/vsrun-1.3-1gcc3.3.i386.rpm
yielded
error: failed to open /etc/mtab: No such file or directory package vsrun-1.3-1gcc3.3 is intended for a linux operating system
http://blog.gmane.org/gmane.os.cygwin.applications/month=20030501 says to just
touch /etc/mtab
(I performed the touch, but perhaps rpm would still work, continuing even if this file isn't there? I didnt try it.)
--ignoreos
even w/ an extant /etc/mtab, this error remains:
package vsrun-1.3-1gcc3.3 is intended for a linux operating system
http://www.linuxaa.com/ftopic1858.html said to try --ignoreos, so i tried
rpm -ivh --nodeps --ignoreos c:/a_no_backup/dl/vsrun-1.3-1gcc3.3.i386.rpm
which printed
Preparing... ################################################## vsrun ##################################################
which installed into
/usr/sbin/vsrun
I had to add that to my path
set path = ($path /usr/sbin)
sign of life
$ vsrun /usr/sbin/vsrun: 1: Syntax error: "(" unexpected
vesta-common
moving on...
rpm -ivh --nodeps --ignoreos c:/a_no_backup/dl/vesta-common-2.1.12.pre13.7-3gcc3.3.i386.rpm
prints
Preparing... ################################################## /usr/sbin/useradd: not found /usr/sbin/useradd: not found /usr/sbin/useradd: not found /usr/sbin/useradd: not found error: %pre(vesta-common-2.1.12.pre13.7-3gcc3.3) scriptlet failed, exit status 127 error: install: %pre scriptlet failed (2), skipping vesta-common-2.1.12.pre13.7-3gcc3.3
http://www.cygwin.com/ml/cygwin/2003-02/msg00874.html says to write a useradd script calling windoze net user command... which i will do when i have time.
CPU (Change Password Utility) looks promising, but seems to only support LDAP as of now 11/23/2005.
useradd
This script
print scalar @ARGV, " args:"; print "ARGV[$_] = ", $ARGV[$_] foreach 0..$#ARGV;
got past the useradd issue, sortof:
Preparing... ################################################## [...see below...] warning: user vadmin does not exist - using root warning: group vadmin does not exist - using root warning: user vadmin does not exist - using root warning: group vadmin does not exist - using root warning: user vadmin does not exist - using root warning: group vadmin does not exist - using root warning: user vadmin does not exist - using root warning: group vadmin does not exist - using root warning: user vadmin does not exist - using root warning: group vadmin does not exist - using root vesta-common ################################################## /sbin/chkconfig: not found /sbin/chkconfig: not found
And reveals the chkconfig issue.
Since it seems to be defaulting to user root we might not need the following revealed calls to useradd from vesta-common
4 args: ARGV[0] = -c ARGV[1] = Vesta administrator ARGV[2] = -m ARGV[3] = vadmin
7 args: ARGV[0] = -c ARGV[1] = Vesta wizard ARGV[2] = -g ARGV[3] = vadmin ARGV[4] = -m ARGV[5] = -n ARGV[6] = vwizard
7 args: ARGV[0] = -c ARGV[1] = Vesta runtool user ARGV[2] = -g ARGV[3] = vadmin ARGV[4] = -m ARGV[5] = -n ARGV[6] = vruntool
4 args: ARGV[0] = -c ARGV[1] = Vesta foreign user ARGV[2] = -m ARGV[3] = vforeign
Here are the relevant man page entries for the switches:
-c comment The new user's password file comment field.
-m The user's home directory will be created if it does not exist. The files contained in skeleton_dir will be copied to the home directory if the -k option is used, otherwise the files con- tained in /etc/skel will be used instead. Any directories con- tained in skeleton_dir or /etc/skel will be created in the user's home directory as well. The -k option is only valid in conjunction with the -m option. The default is to not create the directory and to not copy any files.
cygwin does have an empty /etc/skel/
Both the following are manipulating the group:
-g initial_group The group name or number of the user's initial login group. The group name must exist. A group number must refer to an already existing group. The default group number is 1 or whatever is specified in /etc/default/useradd. -n A group having the same name as the user being added to the sys- tem will be created by default. This option will turn off this Red Hat Linux specific behavior.
(see useradd for entire man page.)
Experimenting with useradd i had to use --replacefiles --replacepkgs to get rpm scripts to re-run:
rpm -Uvh --nodeps --ignoreos --replacefiles --replacepkgs c:/a_no_backup/dl/vesta-common-2.1.12.pre13.7-3gcc3.3.i386.rpm