Skip to main content

OpenGrok FUSE filesystem and tools

Project description

opengrokfs implements a FUSE filesystem backed by the OpenGrok web interface. A cscope clone which uses the OpenGrok web interface as the backend is also included.

Install with pip:

pip3 install opengrokfs

Run opengrokfs with the URL of the OpenGrok start page and the local directory where the filesystem should be mounted:

mkdir -p mnt
opengrokfs http://androidxref.com/7.1.1_r6/ mnt

Now you can access the files:

$ ls mnt/
Android.bp  bootable        bionic  development  external
art         bootstrap.bash  dalvik  device       frameworks
...

Use oggrep to search using OpenGrok’s “Full Search”:

$ cd mnt/bionic/
mnt/bionic$ oggrep O_LARGEFILE
libc/kernel/uapi/asm-arm/asm/fcntl.h:#define O_LARGEFILE 0400000
libc/kernel/uapi/asm-arm64/asm/fcntl.h:#define O_LARGEFILE 0400000
libc/bionic/lfs64_support.cpp:// are already 64-bit ready. In particular, we don't have non-O_LARGEFILE
libc/bionic/open.cpp:  return flags | O_LARGEFILE;
libc/kernel/uapi/asm-mips/asm/fcntl.h:#define O_LARGEFILE 0x2000
libc/kernel/uapi/asm-generic/fcntl.h:#ifndef O_LARGEFILE
libc/kernel/uapi/asm-generic/fcntl.h:#define O_LARGEFILE 00100000
tests/stdlib_test.cpp:  ASSERT_EQ(O_LARGEFILE, fcntl(tf.fd, F_GETFL) & O_LARGEFILE);

ogcscope emulates cscope’s line-oriented interface but uses OpenGrok as the backend:

mnt/bionic$ ogcscope -dl
>> 1CLONE_CHILD_SETTID
cscope: 1 lines
libc/kernel/uapi/linux/sched.h <unknown> 41 #define CLONE_CHILD_SETTID 0x01000000
>> 0CLONE_CHILD_SETTID
cscope: 5 lines
libc/bionic/clone.cpp <unknown> 53   if ((flags & (CLONE_PARENT_SETTID|CLONE_SETTLS|CLONE_CHILD_SETTID|CLONE_CHILD_CLEARTID)) != 0) {
libc/bionic/clone.cpp <unknown> 56   if ((flags & (CLONE_SETTLS|CLONE_CHILD_SETTID|CLONE_CHILD_CLEARTID)) != 0) {
libc/bionic/clone.cpp <unknown> 59   if ((flags & (CLONE_CHILD_SETTID|CLONE_CHILD_CLEARTID)) != 0) {
libc/bionic/fork.cpp <unknown> 34 #define FORK_FLAGS (CLONE_CHILD_SETTID | CLONE_CHILD_CLEARTID | SIGCHLD)
libc/kernel/uapi/linux/sched.h <unknown> 41 #define CLONE_CHILD_SETTID 0x01000000

ogcscope can be used from within any editor which supports cscope. For example, for vim:

mnt/bionic$ vim -c 'set cscopeprg=ogcscope' -c 'cs add .opengrokfs'

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

opengrokfs-0.2.1.tar.gz (5.7 kB view details)

Uploaded Source

Built Distribution

opengrokfs-0.2.1-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

File details

Details for the file opengrokfs-0.2.1.tar.gz.

File metadata

  • Download URL: opengrokfs-0.2.1.tar.gz
  • Upload date:
  • Size: 5.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for opengrokfs-0.2.1.tar.gz
Algorithm Hash digest
SHA256 435edd9f41f9aa1d208be3b13fc6b7fc4007ac45dd06424435ecd3de9fd00d4a
MD5 cbfa547f5b4e87a12083f292d1dcb835
BLAKE2b-256 586b082832f64ff63e2ed6c7fec5b71ff257108575adc7a1fc73f89dc3d15f23

See more details on using hashes here.

File details

Details for the file opengrokfs-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for opengrokfs-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 08acfd774cb9e14e46748909143c03d6157e6fcd0f4a6cb55a354dfed44d6c69
MD5 36188cb6711aaee171080d720509504e
BLAKE2b-256 25b48a5be4cd8744f4dc66b4d379281b25df2122e0606e321809d0a8f01d1e33

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page