Giter VIP home page Giter VIP logo

update-informer's Introduction

๐Ÿ‘‹ Hi, I'm Mikhail!

I'm:

  • Senior Software Engineer (Rust, Go, Ruby, Elixir) ๐Ÿš€
  • DevOps Engineer ๐Ÿณ
  • Open Source Activist & Contributor ๐Ÿ˜
  • Speaker ๐ŸŽค
  • Mentor ๐Ÿ‘จโ€๐Ÿ’ป

I โค๏ธ Open Source:

Look at my other projects ๐Ÿ‘

Follow me on Twitter โœŒ๏ธ

update-informer's People

Contributors

chris-olszewski avatar dependabot[bot] avatar dyc3 avatar itamarst avatar mgrachev avatar tknickman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

update-informer's Issues

More standardized location for "last-checked" file

On the assumption that pip has done the relevant research correctly:

  1. For Unix-y systems, use "$XDG_CACHE_HOME/app-name" or fallback to "~/.cache/app-name". (https://github.com/pypa/pip/blob/dec279ecdf8fd2b0f984dd213198635fdbe320c7/src/pip/_vendor/platformdirs/unix.py#L86)
  2. For Windows, CSIDL_LOCAL_APPDATA (https://github.com/pypa/pip/blob/dec279ecdf8fd2b0f984dd213198635fdbe320c7/src/pip/_vendor/platformdirs/windows.py#L62)
  3. For macOS, "~/Library/Caches/app-name" (https://github.com/pypa/pip/blob/dec279ecdf8fd2b0f984dd213198635fdbe320c7/src/pip/_vendor/platformdirs/macos.py#L37).

Timeouts for ureq usage

  • Given networks can have issues, there should probably be some sort of timeouts set on the ureq HTTP client.
  • The timeouts should be fairly short, since the version check is not the user's goal, it's a nice-to-have.

Less fakes in testing strategy

I'm working on branch for #18, all unit tests pass... but running the example CLI to get a PyPI package is not working. So I would suggest less #[cfg(test)] code variants and more just running with the real code paths.

update-informer is tainted with MPL-2 via option-ext

Hello, I wanted to raise a note that this crate currently has a transitive dependency on option-ext. That library is MPL-2, a copyleft license. The option-ext dependency is brought in via the dependency on directories. The maintainer of the underlying dirs-sys crate has indicated that they added a dependency on option-ext for the express purpose of tainting the use of dirs-sys with MPL-2, which thus taints any use of update-informer. I'd recommend using an alternate dependency such as etcetera, which does not suffer from this tainting issue.

I'll note that the default ureq dependency also pulls in webpki-roots, which is also MPL-2, but that is an optional dependency that can be side-stepped by using native-tls (though I would overall prefer to use rustls-tls, but with native-roots), so it's not a particular concern for me.

As an alternative, the caching functionality could be optional behind a feature, so that the MPL-2 dependency isn't required if we don't need the caching check.

update-informer does not work with target x86_64-unknown-linux-musl and i686-unknown-linux-musl

Running cargo build --target=x86_64-unknown-linux-musl (with and without --release) and cargo build --target=x86_64-unknown-linux-musl (with and without release) fails, but works with cargo build and cargo build --release (which uses target x86_64-unknown-linux-gnu) works fine

The reason I traced it to update-informer is that removing update-informer and the update-informer code in main.rs allows it to compile just fine.

This is the error message:

Compiling ring v0.16.20
error: failed to run custom build command for `ring v0.16.20`

Caused by:
  process didn't exit successfully: `/home/chirag/projects/ddr_mount/target/debug/build/ring-f696b55488b2d439/build-script-build` (exit status: 101)
  --- stdout
  OPT_LEVEL = Some("0")
  TARGET = Some("x86_64-unknown-linux-musl")
  HOST = Some("x86_64-unknown-linux-gnu")
  CC_x86_64-unknown-linux-musl = None
  CC_x86_64_unknown_linux_musl = None
  TARGET_CC = None
  CC = None
  CROSS_COMPILE = None
  CFLAGS_x86_64-unknown-linux-musl = None
  CFLAGS_x86_64_unknown_linux_musl = None
  TARGET_CFLAGS = None
  CFLAGS = None
  CRATE_CC_NO_DEFAULTS = None
  DEBUG = Some("true")
  CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2")

  --- stderr
  running "musl-gcc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "include" "-Wall" "-Wextra" "-pedantic" "-pedantic-errors" "-Wall" "-Wextra" "-Wcast-align" "-Wcast-qual" "-Wconversion" "-Wenum-compare" "-Wfloat-equal" "-Wformat=2" "-Winline" "-Winvalid-pch" "-Wmissing-field-initializers" "-Wmissing-include-dirs" "-Wredundant-decls" "-Wshadow" "-Wsign-compare" "-Wsign-conversion" "-Wundef" "-Wuninitialized" "-Wwrite-strings" "-fno-strict-aliasing" "-fvisibility=hidden" "-fstack-protector" "-g3" "-U_FORTIFY_SOURCE" "-DNDEBUG" "-c" "-o/home/chirag/projects/ddr_mount/target/x86_64-unknown-linux-musl/debug/build/ring-3cd0dd4557c022ec/out/aesni-x86_64-elf.o" "/home/chirag/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesni-x86_64-elf.S"
  thread 'main' panicked at 'failed to execute ["musl-gcc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "include" "-Wall" "-Wextra" "-pedantic" "-pedantic-errors" "-Wall" "-Wextra" "-Wcast-align" "-Wcast-qual" "-Wconversion" "-Wenum-compare" "-Wfloat-equal" "-Wformat=2" "-Winline" "-Winvalid-pch" "-Wmissing-field-initializers" "-Wmissing-include-dirs" "-Wredundant-decls" "-Wshadow" "-Wsign-compare" "-Wsign-conversion" "-Wundef" "-Wuninitialized" "-Wwrite-strings" "-fno-strict-aliasing" "-fvisibility=hidden" "-fstack-protector" "-g3" "-U_FORTIFY_SOURCE" "-DNDEBUG" "-c" "-o/home/chirag/projects/ddr_mount/target/x86_64-unknown-linux-musl/debug/build/ring-3cd0dd4557c022ec/out/aesni-x86_64-elf.o" "/home/chirag/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/pregenerated/aesni-x86_64-elf.S"]: No such file or directory (os error 2)', /home/chirag/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.16.20/build.rs:653:9
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.