This patch is delaying the point where permissions are dropped into the `start_ipfs` script. This way, instead of exiting on permission issues, we can fix them on our own inside the script, then drop privileges and continue doing ipfs specific stuff with the correct user.
I've removed the `chmod 0777` step from the readme since it's not needed anymore.
License: MIT
Signed-off-by: kpcyrd <git@rxv.cc>
Previous version 0.10 was built with faulty version of Go 1.7 which has
problems with TCP -> DNS -> UDP timeouts.
This results in many failed calls to `gx install`
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
After the discussion in https://github.com/ipfs/go-ipfs/pull/3573 this patch prints a deprecation warning if:
1) the image has been executed with additional arguments
2) the first argument isn't daemon
This way people are able to migrate to the new syntax without any breaking changes.
License: MIT
Signed-off-by: kpcyrd <git@rxv.cc>
This commit introduces non-recursive Makefile infrastructure that replaces current Makefile infrastructure.
It also generally cleanups the Makefiles, separates them into nicer sub-modules and centralizes common operations into single definitions.
It allows to depend on any target that is defined in the makefile, this means that for example `gx install` is called once when `make build test_expensive_sharness` is called instead of 4 or 5 times.
It also makes the dependencies much cleaner and allows for reuse of modules. For example sharness coverage collection (WIP) uses sharness target with amended PATH, previously it might have been possible but not without wiring in the coverage collection into sharness make runner code.
Yes, it is more complex but not much more. There are few rules that have to be followed and few complexities added but IMHO it is worth it.
How to NR-make:
1. If make is to generate some file via a target, it MUST be defined in Rules.mk file in the directory of the target.
2. `Rules.mk` file MUST have `include mk/header.mk` statement as the first line and `include mk/footer.mk` statement as the last line (apart from project root `Rules.mk`).
3. It then MUST be included by the closest `Rules.mk` file up the directory tree.
4. Inside a `Rules.mk` special variable accessed as `$(d)` is defined. Its value is current directory, use it so if the `Rules.mk` file is moved in the tree it still works without a problem. Caution: this variable is not available in the recipe part and MUST NOT be used. Use name of the target or prerequisite to extract it if you need it.
5. Make has only one global scope, this means that name conflicts are a thing. Names SHOULD follow `VAR_NAME_$(d)` convention. There are exceptions from this rule in form of well defined global variables. Examples: General lists `TGT_BIN`, `CLEAN`; General targets: `TEST`, `COVERAGE`; General variables: `GOFLAGS`, `DEPS_GO`.
3. Any rules, definitions or variables that fit some family SHOULD be defined in `mk/$family.mk` file and included from project root `Rules.mk`
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
Right now bin/dist_get trusts whatever DNS resolver is active.
This change enables it to verify what it downloads.
Verification itself remains TODO.
This will work best with a unixfs-hash tool which is TODO too.
It'd just do the equivalent of `ipfs add -n -r <dirOrFile>`.
License: MIT
Signed-off-by: Lars Gierth <larsg@systemli.org>
- Have two Dockerfiles doing essentially the same,
but optimized for build time (for tests)
and image size (for Docker Hub)
- Fetch gx dependencies
- Expose port 4002 for utp
- Specify go version, currently 1.5.3-r0
- Create ephemeral fs-repo if none is mounted
- Have t0300-docker-image actually test IPFS, not just an echo
- Make everything a bit less hardcoded
- Remove dead shacheck
License: MIT
Signed-off-by: Lars Gierth <larsg@systemli.org>
This incorporates feedback from @RX14 in #1685 and might fix#1537 as the ipfs daemon would get the stop signal from the docker daemon... Maybe that way it stops in a cleaner manner...
License: MIT
Signed-off-by: Knut Ahlers <knut@ahlers.me>