Skip to content

Commit

Permalink
Merge pull request #22 from Dj-Codeman/dependencies
Browse files Browse the repository at this point in the history
Pretty changes
  • Loading branch information
Dj-Codeman authored Feb 22, 2024
2 parents 757a158 + 7d83dda commit 6f0c566
Show file tree
Hide file tree
Showing 6 changed files with 24 additions and 30 deletions.
9 changes: 9 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
[submodule "dns_transport"]
path = dns_transport
url = https://github.com/Dj-Codeman/doge_transport
[submodule "doge_transport"]
path = doge_transport
url = https://github.com/Dj-Codeman/doge_transport
[submodule "doge_dns"]
path = doge_dns
url = https://github.com/Dj-Codeman/doge_dns
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

39 changes: 11 additions & 28 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,23 +72,22 @@ It has colourful output, understands normal command-line argument syntax, suppor
Currently:
To install dog, you can download a pre-compiled binary, or you can compile it from source. You _**may**_ be able to install dog using your OS’s package manager, depending on your platform.

### Project existence
I am not a rust expert at all, Honestly I'm the opposite, just learning codding. I used [`dog`](https://github.com/ogham/dog) on my arch system and a few random *nix
Laptops that I perpetually fix and break . As such part of this progect will be outside of my skill set or ability to work on currently. Things such as :
*Windows support as a whole
*MACOS support as a whole (I'm never buying a mac so this won't be touched by me) I'll merge PRs if thats you thing
*Docker is magic as far as im concerned. I'm working on learning how to practically use it, but for now I wouldn't hold my breath
Issues:
I am not a rust expert at all, Honestly I'm the opposite, just learning codding. I used [`dog`](https://github.com/ogham/dog) on my arch system and a few random *nix Laptops that I perpetually fix and break . As such part of this progect will be outside of my skill set or ability to work on currently.
For **Windows** I don't intende on installing windows 11 anytime soon, So I most likely won't be adding new windows features
For **Macos** Till i can afford to waste money on a mac, the workflow for building release packages is the only support macos is going to get
For **Docker**, This is magic as far as I'm concerned. While I learn the spells to use it in a meaningful way expect things to be broken

If any of these are things you want to see make a PR and I'll read and merge it, Be on the lookout for some potentially dumb questions from me.

### Packages

This is currelty a Work in progress
They exist now !!!

$ cargo install dns-doge
$ yay -S dns-doge

<!-- - For Arch Linux, install the [`dog`](https://www.archlinux.org/packages/community/x86_64/dog/) package.
- For Homebrew on macOS, install the [`dog`](https://formulae.brew.sh/formula/dog) formula.
<!-- - For Homebrew on macOS, install the [`dog`](https://formulae.brew.sh/formula/dog) formula.
- For NixOS, install the [`dogdns`](https://search.nixos.org/packages?channel=unstable&show=dogdns&query=dogdns) package. -->


Expand All @@ -108,21 +107,19 @@ To build, download the source code and run:
$ cargo build
$ cargo test

- The [just](https://github.com/casey/just) command runner can be used to run some helpful development commands, in a manner similar to `make`.
Run `just --list` to get an overview of what’s available.

- If you are compiling a copy for yourself, be sure to run `cargo build --release` or `just build-release` to benefit from release-mode optimisations.
- If you are compiling a copy for yourself, be sure to run `cargo build --release` or `make build-release` to benefit from release-mode optimisations.
Copy the resulting binary, which will be in the `target/release` directory, into a folder in your `$PATH`.
`/usr/local/bin` is usually a good choice.

- To compile and install the manual pages, you will need [pandoc](https://pandoc.org/).
The `just man` command will compile the Markdown into manual pages, which it will place in the `target/man` directory.
The `make man` command will compile the Markdown into manual pages, which it will place in the `target/man` directory.
To use them, copy them into a directory that `man` will read.
`/usr/local/share/man` is usually a good choice.


### ~~Container image~~
#### These may still work but they will be unstable as I might break them.
#### These may still work but they will be ***unstable*** as I might break them.

To build the container image of doge, you can use Docker or Kaniko. Here an example using Docker:

Expand All @@ -137,18 +134,6 @@ To run dog directly, you can then define the following alias:
$ alias doge="docker run -it --rm doge"


### End-to-end testing

doge has an integration test suite written as [Specsheet](https://specsheet.software/) check documents.
If you have a copy installed, you can run:

$ just xtests

Specsheet will test the compiled binary by making DNS requests over the network, checking that doge returns the correct results and does not crash.
Note that this will expose your IP address.
For more information, read [the xtests README](xtests/README.md).


### Feature toggles

doge has three Cargo features that can be switched off to remove functionality.
Expand All @@ -174,8 +159,6 @@ The list of features that have been disabled can be checked at runtime as part o
For documentation on how to use doge, see the dog website: <https://dns.lookup.dog/>
Eventually I will make a new one



## Licence

doge’s source code is licenced under the [MIT](https://choosealicense.com/licenses/mit/).
Expand Down
1 change: 1 addition & 0 deletions doge_dns
Submodule doge_dns added at 3be3b3
1 change: 1 addition & 0 deletions doge_transport
Submodule doge_transport added at 4f1b5f
2 changes: 1 addition & 1 deletion makefile
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ check:

# Installation of the bin
install:
@mv "./target/release/doge" /usr/bin/doge
@cp -v target/release/doge /usr/bin/doge
@chmod +x /usr/bin/doge

# Targets related to testing
Expand Down

0 comments on commit 6f0c566

Please sign in to comment.