aboutsummaryrefslogtreecommitdiff
path: root/Makefile
AgeCommit message (Collapse)Author
2018-02-13Makefile: Go/Protoc don't support arm64 big endianJoseph Richey
Protoc: https://github.com/google/protobuf/blob/a711e3d5b4ee1dd7f9d21197dca8432a5819a64e/protoc-artifacts/build-protoc.sh#L82-L83 Go: https://github.com/golang/sys/blob/37707fdb30a5b38865cfb95e5aab41707daec7fd/unix/linux/mkall.go#L43-L79
2018-02-13Makefile: Fix archetecture detectionJoseph Richey
Using "arch" instead of "go env GOARCH" is more standard and doesn't generate a warning on "sudo make install".
2018-02-12Release: v0.2.3Joseph Richey
2018-02-12Makefile: bump protoc to most recent versionJoseph Richey
2018-02-11Makefile: completly rewriteJoseph Richey
This change is a complete rewrite of fscrypt's Makefile. The new build rules can be roughly divided into secions: Build - bin/fscrypt and bin/pam_fscrypt Linting - gen (for .proto files), format, lint Test - test, test-{setup|teardown}, coverage.out Install - install, uninstall, install-{bin|pam} Tools - tools and other bin/* needed for the other rules As before, "make" builds the binary and pam_module, while "make all" builds and tests everything (except for integration tests), and "make clean" removes any generated files. Also note that this new build system: - Doesn't require input_fail.py - Properly falis on linter errors - Builds everything into the bin/ directory (customizable) - Builds all the vendored tools
2018-02-09dep: Run dep ensureJoseph Richey
2018-02-08dep: Update Travis to use depJoseph Richey
Add dep instalation, remove govendor from go tools, and add a check for dependancies.
2018-02-08Change Golang formatterJoseph Richey
Moves from goimports to [goreturns](https://github.com/sqs/goreturns). This should not effect any code that already compiles as goreturns only adds zero return values, then runs goimports. This is mainly to help improve ergonomics when dealing with multiple return types.
2017-10-03Makefile: Updated scripts to run tests in travisJoseph Richey
2017-09-29Makefile: Don't update dependancies w/ "make all"Joseph Richey
2017-08-31Merge pull request #52 from google/keyringsJoseph Richey
Changes to the keyrings interface, corresponding UI changes, and misc changes
2017-08-31filesystem: libblkid -> search /dev/disk/by-uuidJoe Richey
2017-08-29Go formatter "gofmt" -> "goimports"Joseph Richey
2017-08-29Added +build linux,cgo flagsJoe Richey
2017-08-29Makefile: Build version flag no longer needs repoJoe Richey
2017-08-22Updated documentation and build system for PAMJoe Richey joerichey@google.com
2017-07-19Build system: no longer run make gen for make allJoe Richey joerichey@google.com
2017-07-19coveralls: Adding Travis CI integrationJoe Richey joerichey@google.com
2017-07-18Makefile: typoJoe Richey joerichey@google.com
2017-07-18Travis.yml and Makefile now run integration tests.Joe Richey joerichey@google.com
2017-07-17Makefile: Rewrite for presubmit checksJoe Richey joerichey@google.com
The commit reorganizes the Makefile, so that "make check" can run on each PR to detect any errors.
2017-07-13Makefile: version and data now pulled in directlyJoe Richey joerichey@google.com
2017-06-28Finalize import paths and documentationv0.1.00.1.0Joe Richey joerichey@google.com
This commit changes all the internal import paths from `fscrypt/foo` to `github.com/google/fscrypt/foo` so that it can be built once we release externaly. The documentation in README.md is updated accordingly. Also, the README has a note noting that we do not make any guarantees about project stability before 1.0 (when it ships with Ubuntu). Change-Id: I6ba86e442c74057c8a06ba32a42e17f94833e280
2017-06-28Update Makefile and READMEJoe Richey joerichey@google.com
This commit updates the README and Makefile to get them ready for external release. This includes adding some common pitfalls, including example usage, and allowing for tarball creation. Change-Id: I442338c7aff613a14bae449dbf091bfcaf73ed9d
2017-06-15pam: checking a user's login passphraseJoe Richey joerichey@google.com
This commit adds in the fscrypt/pam package. This package will hold all functionality related to Linux Pluggable Authentication Modules (PAM). Right now this package uses cgo to mock a PAM conversation, allowing the function to check if a provided passphrase actually belongs to a user. Due to the nature of cgo callbacks, global state of the key to check is necessary for this function. This commit also addresses some issues about building the cgo components. Now, only the minimal linking flags are included in the go files. Additional linker flags may now be necessary to build a static binary of fscrypt. This is addressed in the Makefile and README. Finally, this commit fixes a bug where the tests would not run correctly due to shared global state on the testing filesystem. Fixed, by having all the tests run sequentially. Change-Id: Ia43636801da984b505d2f43dd14127b7cfbf2c48
2017-05-31fscrypt: Adding additional documentationJoe Richey joerichey@google.com
This commit moves most of the documentation about contributing to fscrypt into CONTRIBUTING.md and updates the legal disclaimer. It also updates the README.md to include all of fscrypt's planned functionality and dependencies. Finally, the makefile is updated to include more documentation, versioning support, and a different location for the output file. Change-Id: Ib7be98d41bc06dd12b02e42addf06e12a940235a
2017-05-02metadata: get and set policies from goJoe Richey
This commit adds in the ability to get and set policy data from go using the GetPolicy and SetPolicy functions. This is done via a patch of the x/sys/unix package that exposes the filesystem encryption structures. Note that not all the fields of the PolicyData protocol buffer are needed to get and set policies. The wrapped_policy_keys are not used and will be written and read by other components of fscrypt. To run the policy tests, the environment variable BASE_TEST_DIR must be set to a directory for testing on a filesystem that supports encryption. Change-Id: I13b1d983356845f3ffc1945cedf53234218f32e5
2017-05-02metadata: introduce protobuf structuresJoe Richey
This commit adds in the metadata package. The primary purpose of this package is to provide the on-disk metadata structures in the form of protocol buffers. This includes: - Policy metadata structure - Protector metadata structure - Config file structure - All necessary sub-structures (wrapped keys, parameters, etc) This commit also adds in an example usage of the Config structure, which represents the structure of the global config file. All the package does at this point is convert between the Config structure and a JSON representation. Here we introduce govendor, which is described more in the README. This means we will have all of our Go dependencies in the vendor subdirectory. This means we will have no Go source dependencies, only dependencies on the build tools (Go and govendor). The README describes this in detail. Note that we commit the generated files. see: https://blog.golang.org/generate Change-Id: Iaacd46666b5d3e4e865a0f4045dd63ed7e3d6f96
2017-05-02util: convenience utilities for fscryptJoe Richey
This commit adds in the util package. This package provides two functions for creating errors. These functions are: - InvalidInputErrorF - bad input from user or caller - SystemErrorF - low level failure It also adds in a small function for converting Go byte slices into C void pointers. This will be very useful for interoperating with C. Change-Id: I87ad7946dd5fa26e28927590aff4bcc9fd5ce4f7
2017-05-02cmd/fscrypt: Initial stub program and docsJoe Richey
This commit adds in a stub fscrypt program. The binary just tells the time and the tests do nothing, but the Makefile will build them! This commit also adds documentation to the README that explains how to get, build, run, test, format, lint, and install the code. Also note that the executable is now in the cmd/fscrypt directory. The library implementing the core functionality will be at the root. This is essentially point 2 of https://medium.com/@benbjohnson/structuring-applications-in-go-3b04be4ff091 Change-Id: Ib7bd782e458bdf3db456beb978be4c75b4734561