1. Introduction 1.1. Project/Component Working Name: Slocate 1.2. Name of Document Author/Supplier: Jim Li 1.3. Date of This Document: 07/09/08 1.3.1. Date this project was conceived: N/A 1.4. Name of Major Document Customer(s)/Consumer(s): 1.4.1. The PAC or CPT you expect to review your project: Solaris PAC 1.4.2. The ARC(s) you expect to review your project: LSARC 1.4.3. The Director/VP who is "Sponsoring" this project: rebert.odea@Sun.Com 1.4.4. The name of your business unit: OPG / OpenSource 1.5. Email Aliases: 1.5.1. Responsible Manager: leo.binchy@sun.com 1.5.2. Responsible Engineer: jim.li@sun.com 1.5.3. Marketing Manager: dan.robert@sun.com 1.5.4. Interest List: desktop-discuss@opensolaris.org 4. Technical Description: 4.1. Details: This locate can index all files on your system, but only files and directories which the invoking user has access to will be displayed. Although Slocate allow user to create his/her own index files, By default Slocate uses a central index file for all users which means one system only has one slocate index file. Slocate will check file permissions and ownership before displaying matched files so that files they don't have access to will be filtered out. Slocate takes care of only filename, which means only creating index on filename, not on file content. Slocate uses system call access() to check file permissions, so it works with ACLs pretty well. Slocate always filter out files the invoking users can't access when creating index file or display the found file name. The slocate index file doesn't contain any permission information. It checks permission at run time. so slocate can do the right things if permission change. 4.2. Bug/RFE Number(s): None. 4.3. In Scope: None. 4.4. Out of Scope: None. 4.5. Interfaces: ------------------------------------------------------------------ Exported Stability Comments ------------------------------------------------------------------ SUNWslocate Uncommitted package name /usr/bin/slocate Volatile binary program /usr/bin/updatedb Volatile link to slocate that implies -u option /usr/share/doc/slocate/samples/updatedb.conf Volatile a sample configuration file /var/lib/slocate/slocate.db Volatile index file see comment 1 a cron job entry Volatile see comment 2 ------------------------------------------------------------------ Imported Stability ARC case Comments ------------------------------------------------------------------ fts_xxxx() of /usr/lib/libast.so.1 private 2006/550 (SONMAE libast.so.1) /etc/updatedb.conf see comment 3 Comment 1: slocate.db is the default index file which will be will be updated by a cron job or when using updatedb. Comment 2: this cron job will run updatedb at 3:00 am every day to update the default index file. It will be added when adding package and be removed when removing package. Comment 3: updatedb.conf is a configuration file of locate which belongs to another package findutils. Slocate will parse this con- figuration file if it exists. if not, Slocate still can work, by using default or inputed argument. 4.6. Doc Impact: Community provided man pages will be installed. 4.7. Admin/Config Impact: None. 4.8. HA Impact: None. 4.9. I18N/L10N Impact: N/A The community source code doesn't support L18N/L10N. 4.10. Packaging & Delivery: Add new packages, SUNWslocate, approximately 65.4kb 4.11. Security Impact: None. 4.12. Dependencies: private library /usr/lib/libast.so.1 (SONAME libast.so.1). http://sac.sfbay/Archives/CaseLog/arc/LSARC/2008/447/contracts/libast-PSARC-2006-550.txt 5. Reference Documents: Slocate community http://slocate.trakker.ca/