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