OSSP CVS Repository

ossp - Check-in [1506]
Not logged in
[Honeypot]  [Browse]  [Home]  [Login]  [Reports
[Search]  [Ticket]  [Timeline
  [Patchset]  [Tagging/Branching

Check-in Number: 1506
Date: 2002-Jan-04 18:14:45 (local)
2002-Jan-04 17:14:45 (UTC)
User:openpkg-cvs
Branch:
Comment: First cut at bourne script to ANSI C (+improvements) of rc run-command processor
Tickets:
Inspections:
Files:
ossp-pkg/rc/00TODO      added-> 1.1
ossp-pkg/rc/rc.c      added-> 1.1
ossp-pkg/rc/rc.h      added-> 1.1

ossp-pkg/rc/00TODO -> 1.1

*** /dev/null    Tue Apr 16 08:11:00 2024
--- -    Tue Apr 16 08:11:29 2024
***************
*** 0 ****
--- 1,8 ----
+ rcTODO: Tasks left to accomplish before the rc utility is complete
+ 
+ Consider
+   Develop return code and error definitions unique to OpenPKG
+   Enclose rc.c in its own project and write autoconf logic
+ 
+ Must do
+   Translate rc bourne shell script to ANSI C


ossp-pkg/rc/rc.c -> 1.1

*** /dev/null    Tue Apr 16 08:11:00 2024
--- -    Tue Apr 16 08:11:29 2024
***************
*** 0 ****
--- 1,94 ----
+ /*
+ **  OpenPKG rc - Run-Command Handling for OpenPKG
+ **  Copyright (c) 2000-2001 Ralf S. Engelschall <rse@engelschall.com>
+ **  Copyright (c) 2001-2002 The OpenPKG Project (http://www.openpkg.org/)
+ **  Copyright (c) 2001-2002 Cable & Wireless Deutschland (http://www.cw.com/de/)
+ **
+ **  This file is part of OpenPKG, a packaging facility which can be
+ **  found at http://www.openpkg.org/
+ **
+ **  Permission to use, copy, modify, and distribute this software for
+ **  any purpose with or without fee is hereby granted, provided that
+ **  the above copyright notice and this permission notice appear in all
+ **  copies.
+ **
+ **  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ **  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ **  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ **  IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+ **  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ **  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ **  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ **  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ **  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ **  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ **  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ **  SUCH DAMAGE.
+ **
+ **  rc.c: run-command processor ANSI C source file
+ */
+ 
+ #include <stdio.h>
+ #include <unistd.h>
+ #include <fcntl.h>
+ #include <rc.h>
+ 
+ 
+ void usage(char *szProgname)
+ {
+     fprintf(stdout, "Usage: %s [-v|--verbose] [-h|--help]\n\
+                      [-p|--print] [-e|--eval] [-c|--config]\
+                      [-q|--query] [-r|--raw]\n<package>\
+                      <command> [<command> ...]", szProgname);
+ }
+ 
+ int main(int argc, char *argv[])
+ {
+     int nOpt      = 0; /* holds getopt(3) return value */
+     int nFile     = 0; /* for checking file existence  */
+ 
+     int bVerbose = 0; /* v */
+     int bHelp    = 0; /* h */
+     int bPrint   = 0; /* p */
+     int bEval    = 0; /* e */
+     int bConfig  = 0; /* c */
+     int bQuery   = 0; /* q */
+     int bRaw     = 0; /* r */
+ 
+     while ((nOpt = getopt(argc, argv, "vhpecqr:")) != -1)
+         switch (nOpt) {
+             case 'v':
+                 bVerbose = TRUE;
+                 break;
+             case 'h':
+                 bHelp    = TRUE;
+                 break;
+             case 'p':
+                 bPrint   = TRUE;
+                 break;
+             case 'e':
+                 bEval    = TRUE;
+                 break;
+             case 'c':
+                 bConfig  = TRUE;
+                 break;
+             case 'q':
+                 bQuery   = TRUE;
+                 break;
+             case 'r':
+                 bRaw     = TRUE;
+                 break;
+             case '?':
+             default:
+                 usage(*argv);
+         }
+ 
+     argc -= optind;
+     argv += optind;
+ 
+     /* check existence of file input to the run-command */
+     if ((nFile = open(optarg, O_RDONLY, 0)) < 0)
+         err(1, "%s", optarg);
+ 
+     return 0; /* success */
+ }


ossp-pkg/rc/rc.h -> 1.1

*** /dev/null    Tue Apr 16 08:11:00 2024
--- -    Tue Apr 16 08:11:29 2024
***************
*** 0 ****
--- 1,47 ----
+ /*
+ **  OpenPKG rc - Run-Command Handling for OpenPKG
+ **  Copyright (c) 2000-2001 Ralf S. Engelschall <rse@engelschall.com>
+ **  Copyright (c) 2001-2002 The OpenPKG Project (http://www.openpkg.org/)
+ **  Copyright (c) 2001-2002 Cable & Wireless Deutschland (http://www.cw.com/de/)
+ **
+ **  This file is part of OpenPKG, a packaging facility which can be
+ **  found at http://www.openpkg.org/
+ **
+ **  Permission to use, copy, modify, and distribute this software for
+ **  any purpose with or without fee is hereby granted, provided that
+ **  the above copyright notice and this permission notice appear in all
+ **  copies.
+ **
+ **  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ **  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ **  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ **  IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+ **  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ **  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ **  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ **  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ **  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ **  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ **  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ **  SUCH DAMAGE.
+ **
+ **  rc.h: run-command processor ANSI C header file
+ */
+ 
+ #ifndef __OPENPKGRC_H__
+ #define __OPENPKGRC_H__
+ 
+ /* compensate for poor standard environments */
+ #ifndef NULL
+ #define NULL (void *)0
+ #endif
+ 
+ #ifndef FALSE
+ #define FALSE (0)
+ #endif
+ 
+ #ifndef TRUE
+ #define TRUE (!FALSE)
+ #endif
+ 
+ #endif /* __OPENPKGRC_H__ */

CVSTrac 2.0.1