Difference between revisions of "Sharing Cadence Libraries"
Line 13: | Line 13: | ||
chmod syntax is shown in the following example: | chmod syntax is shown in the following example: | ||
− | chmod | + | chmod g+rw file_name |
− | chmod | + | chmod g+rx folder_name |
− | Where the series | + | Where the series characters defines the permissions for user (u), group (g), others (o), and all (a) which is short for ugo. |
− | Each | + | Each charater indicates what operations can be accessed, depending on the following operation values: |
− | + | x : Execute | |
− | + | w : Write | |
− | + | r : Read | |
− | + | So, g+rw means to add read and write to the group. Similarly, g-rw would subtract read write from the group. You can also do several at a time such as gu+rw to change group and owner. | |
− | So | + | For further information on permissions, look at this tutorial: |
http://www.ics.uci.edu/computing/linux/file-security.php | http://www.ics.uci.edu/computing/linux/file-security.php | ||
Line 28: | Line 28: | ||
In case you want to use chmod recursively for files underneath a folder, you could use: | In case you want to use chmod recursively for files underneath a folder, you could use: | ||
− | chmod -R | + | chmod -R g+rwx folder_name |
− | but note that this file permission is just an example!! It is not a good idea to set the permissions as | + | but note that this file permission is just an example!! It is not a good idea to set the permissions as rwx for everything as that is too broad. (Why would you execute a non-binary file?) A better way is to "clone" the group permissions to have the same permissions as the owner then you can do something like this: |
− | + | ||
chmod -R g=u folder_name | chmod -R g=u folder_name |
Revision as of 15:15, 29 May 2014
There are several issues to share libraries in Cadence. First, you must have a unix group made and add the users whom you want to share with added to the group. This is taken care of by your professor for this class.
Contents
Changing file group
If you want to change the group ownership of a directory and it's contents recursively, you should use:
chgrp -R group_name directory
If your default group is different than the one you want, you will have to do this whenever a new file is created.
Changing file permissions
If you want to change the permission on a file or directory, you should use use chmod.
chmod syntax is shown in the following example:
chmod g+rw file_name chmod g+rx folder_name
Where the series characters defines the permissions for user (u), group (g), others (o), and all (a) which is short for ugo. Each charater indicates what operations can be accessed, depending on the following operation values:
x : Execute w : Write r : Read
So, g+rw means to add read and write to the group. Similarly, g-rw would subtract read write from the group. You can also do several at a time such as gu+rw to change group and owner. For further information on permissions, look at this tutorial:
http://www.ics.uci.edu/computing/linux/file-security.php
In case you want to use chmod recursively for files underneath a folder, you could use:
chmod -R g+rwx folder_name
but note that this file permission is just an example!! It is not a good idea to set the permissions as rwx for everything as that is too broad. (Why would you execute a non-binary file?) A better way is to "clone" the group permissions to have the same permissions as the owner then you can do something like this:
chmod -R g=u folder_name
Adding Library
To add an existing library from another machine or user, first you have to copy this library to your local space (where you run virtuoso), then in your cds.lib file you should add:
DEFINE new_library /your/local/space/new_library
Then in your lib.defs file you should add:
DEFINE new_library /your/local/space/new_library ASSIGN new_library libMode shared
Copying between libraries
DO NOT COPY CADENCE FILES IN UNIX. This could render your project unusable. Instead, you should use the "Copy Wizard" available via Edit->Copy Wizard in the CIW window. I suggest that you have a shared library and work on files in a local library. When you are ready to share, copy them to the shared library and fix the permissions.