Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Rust crate nix to 0.29 #437

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Update Rust crate nix to 0.29 #437

wants to merge 1 commit into from

Conversation

renovate[bot]
Copy link

@renovate renovate bot commented Feb 24, 2024

This PR contains the following updates:

Package Type Update Change
nix dependencies minor 0.26 -> 0.29

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

nix-rust/nix (nix)

v0.29.0

Compare Source

Added
  • Add getregset()/setregset() for Linux/glibc/x86/x86_64/aarch64/riscv64 and
    getregs()/setregs() for Linux/glibc/aarch64/riscv64
    (#​2044)
  • Add socket option Ipv6Ttl for apple targets.
    (#​2287)
  • Add socket option UtunIfname.
    (#​2325)
  • make SigAction repr(transparent) & can be converted to the libc raw type
    (#​2326)
  • Add From trait implementation for conversions between sockaddr_in and
    SockaddrIn, sockaddr_in6 and SockaddrIn6
    (#​2328)
  • Add socket option ReusePortLb for FreeBSD.
    (#​2332)
  • Added support for openat2 on linux.
    (#​2339)
  • Add if_indextoname function.
    (#​2340)
  • Add mount and unmount API for apple targets.
    (#​2347)
  • Added _PC_MIN_HOLE_SIZE for pathconf and fpathconf.
    (#​2349)
  • Added impl AsFd for pty::PtyMaster
    (#​2355)
  • Add open flag O_SEARCH to AIX, Empscripten, FreeBSD, Fuchsia, solarish,
    WASI (#​2374)
  • Add prctl function prctl_set_vma_anon_name for Linux/Android.
    (#​2378)
  • Add sync(2) for apple_targets/solarish/haiku/aix/hurd, syncfs(2) for
    hurd and fdatasync(2) for aix/hurd
    (#​2379)
  • Add fdatasync support for Apple targets.
    (#​2380)
  • Add fcntl::OFlag::O_PATH for FreeBSD and Fuchsia
    (#​2382)
  • Added PathconfVar::MIN_HOLE_SIZE for apple_targets.
    (#​2388)
  • Add open flag O_SEARCH to apple_targets
    (#​2391)
  • O_DSYNC may now be used with aio_fsync and fcntl on FreeBSD.
    (#​2404)
  • Added Flock::relock for upgrading and downgrading locks.
    (#​2407)
Changed
  • Change the ForkptyResult type to the following repr so that the
    uninitialized
    master field won't be accessed in the child process:

    pub enum ForkptyResult {
        Parent {
            child: Pid,
            master: OwnedFd,
        },
        Child,
    }
    ``` ([#​2315](https://redirect.github.com/nix-rust/nix/pull/2315))
  • Updated cfg_aliases dependency from version 0.1 to 0.2
    (#​2322)

  • Change the signature of ptrace::write and ptrace::write_user to make them
    safe (#​2324)

  • Allow use of SignalFd through shared reference

    Like with many other file descriptors, concurrent use of signalfds is safe.
    Changing the signal mask of and reading signals from a signalfd can now be
    done
    with the SignalFd API even if other references to it exist.
    (#​2367)

  • Changed tee, splice and vmsplice RawFd arguments to AsFd.
    (#​2387)

  • Added I/O safety to the sys/aio module. Most functions that previously
    accepted a AsRawFd argument now accept an AsFd instead.
    (#​2401)

  • RecvMsg::cmsgs() now returns a Result, and checks that cmsgs were not
    truncated. (#​2413)

Fixed
  • No longer panics when the fanotify queue overflows.
    (#​2399)
  • Fixed ControlMessageOwned::UdpGroSegments wrapped type from u16 to i32 to
    reflect the used kernel's one.
    (#​2406)

v0.28.0

Compare Source

Added
  • Added mkdtemp wrapper (#​1297)

  • Add associated constants UTIME_OMIT UTIME_NOW for TimeSpec
    (#​1879)

  • Added EventFd type. (#​1945)

    • Added impl From<Signal> for SigSet.
    • Added impl std::ops::BitOr for SigSet.
    • Added impl std::ops::BitOr for Signal.
    • Added impl std::ops::BitOr<Signal> for SigSet

    (#​1959)

  • Added TlsGetRecordType control message type and corresponding enum for
    linux (#​2065)

  • Added Ipv6HopLimit to ::nix::sys::socket::ControlMessage for Linux,
    MacOS, FreeBSD, DragonflyBSD, Android, iOS and Haiku.
    (#​2074)

  • Added Icmp and IcmpV6 to SockProtocol
    (#​2103)

  • Added rfork support for FreeBSD in unistd
    (#​2121)

  • Added MapFlags::map_hugetlb_with_size_log2 method for Linux targets
    (#​2125)

  • Added mmap_anonymous function
    (#​2127)

  • Added mips32r6 and mips64r6 support for signal, ioctl and ptrace
    (#​2138)

  • Added F_GETPATH FcntlFlags entry on Apple/NetBSD/DragonflyBSD for
    ::nix::fcntl. (#​2142)

  • Added F_KINFO FcntlFlags entry on FreeBSD for ::nix::fcntl.
    (#​2152)

  • Added F_GETPATH_NOFIRMLINK and F_BARRIERFSYNC FcntlFlags entry
    on Apple for ::nix::fcntl.
    (#​2155)

  • Added newtype Flock to automatically unlock a held flock upon drop.
    Added Flockable trait to represent valid types for Flock.
    (#​2170)

  • Added SetSockOpt impls to enable Linux Kernel TLS on a TCP socket and to
    import TLS parameters. (#​2175)

    • Added the ::nix::sys::socket::SocketTimestamp enum for configuring the
      TsClock (a.k.a SO_TS_CLOCK) sockopt
    • Added FreeBSD's ScmRealtime and ScmMonotonic as new options in
      ::nix::sys::socket::ControlMessageOwned

    (#​2187)

  • Added new fanotify API: wrappers for fanotify_init and fanotify_mark
    (#​2194)

  • Added SpecialCharacterindices support for haiku.
    (#​2195)

  • Added sys::sendfile support for solaris/illumos.
    (#​2198)

  • impl Display for InterfaceFlags
    (#​2206)

  • Added sendfilev in sys::sendfile for solarish
    (#​2207)

  • Added fctrl::SealFlag::F_SEAL_FUTURE_WRITE
    (#​2213)

  • Added Ipv6MulticastHops as socket option to set and read.
    (#​2234)

  • Enable ControlMessageOwned::Ipv4RecvIf and
    ControlMessageOwned::Ipv4RecvDstAddr for DragonFlyBSD
    (#​2240)

  • ClockId::set_time() and time::clock_settime() are now enabled on macOS
    (#​2241)

  • Added IpBindAddressNoPort sockopt to support IP_BIND_ADDRESS_NO_PORT
    available on linux. (#​2244)

  • Enable MapFlags::map_hugetlb_with_size_log2 method for Android/Fuchsia
    (#​2245)

  • Added TcpFastOpenConnect sockopt to support TCP_FASTOPEN_CONNECT
    available on linux. (#​2247)

  • Add reboot(2) for OpenBSD/NetBSD
    (#​2251)

  • Added new MemFdCreateFlag constants to sys::memfd on Linux and Android
    related to hugetlbfs support.
    (#​2252)

  • Expose the inner fd of Kqueue through:

    • impl AsFd for Kqueue
    • impl From<Kqueue> for OwnedFd

    (#​2258)

  • Added sys::eventfd support on FreeBSD
    (#​2259)

  • Added MmapFlags::MAP_FIXED constant in sys::mman for netbsd and openbsd
    (#​2260)

  • Added the SO_LISTENQLIMIT sockopt.
    (#​2263)

  • Enable the AT_EMPTY_PATH flag for the fchownat() function
    (#​2267)

  • Add AtFlags::AT_EMPTY_PATH for FreeBSD and Hurd
    (#​2270)

  • Enable `OFlag::O_DIRECTORY for Solarish
    (#​2275)

  • Added the Backlog wrapper type for the listen call.
    (#​2276)

  • Add clock_nanosleep() (#​2277)

  • Enabled O_DIRECT in fcntl::OFlags for solarish
    (#​2278)

  • Added a new API sigsuspend.
    (#​2279)

    • Added errno::Errno::set function
    • Added errno::Errno::set_raw function
    • Added errno::Errno::last_raw function
    • Added errno::Errno::from_raw function

    (#​2283)

  • Enable the AT_EMPTY_PATH flag for the linkat() function
    (#​2284)

  • Enable unistd::{sync, syncfs} for Android
    (#​2296)

Changed
  • poll now takes PollTimeout replacing libc::c_int.
    (#​1876)

  • Deprecated sys::eventfd::eventfd.
    (#​1945)

  • mmap, mmap_anonymous, munmap, mremap, madvise, msync, mprotect,
    munlock and mlock updated to use NonNull.
    (#​2000)

  • mmap function now accepts F instead of Option<F>
    (#​2127)

  • PollFd::new now takes a BorrowedFd argument, with relaxed lifetime
    requirements relative to the previous version.
    (#​2134)

  • FdSet::{insert, remove, contains} now take BorrowedFd arguments, and have
    relaxed lifetime requirements relative to 0.27.1.
    (#​2136)

  • The following APIs now take an implementation of AsFd rather than a
    RawFd:

    • unistd::tcgetpgrp
    • unistd::tcsetpgrp
    • unistd::fpathconf
    • unistd::ttyname
    • unistd::getpeereid (#​2137)
  • Changed openat() and Dir::openat(), now take optional dirfds
    (#​2139)

  • The MSRV is now 1.69 (#​2144)

  • Changed function SockaddrIn::ip() to return net::Ipv4Addr and refactored
    SocketAddrV6::ip() to be const
    (#​2151)

  • The following APIs now take optional dirfds:

    • readlinkat()
    • fstatat()
    • mknodat()
    • mkdirat()
    • execveat()

    (#​2157)

  • Epoll::wait now takes EpollTimeout replacing isize.
    (#​2202)

    • Deprecated errno::errno() function (use Errno::last_raw())
    • Deprecated errno::from_i32() function (use Errno::from_raw())
    • Deprecated errno::Errno::from_i32() function (use Errno::from_raw())

    (#​2283)

Fixed
  • Fix SigSet incorrect implementation of Eq, PartialEq and Hash
    (#​1946)
  • Fixed ::sys::socket::sockopt::IpMulticastTtl by fixing the value of optlen
    passed to libc::setsockopt and added tests.
    (#​2072)
  • Fixed the function signature of recvmmsg, potentially causing UB
    (#​2119)
  • Fix SignalFd::set_mask. In 0.27.0 it would actually close the file
    descriptor. (#​2141)
  • Fixed UnixAddr::new for haiku, it did not record the sun_len value as
    needed.
    Fixed sys::socket::addr::from_raw_parts and
    sys::socket::Sockaddrlike::len build for solaris.
    (#​2242)
  • Fixed solaris build globally.
    (#​2248)
  • Changed the dup3 wrapper to perform a real call to dup3 instead of
    emulating it via dup2 and fcntl to get rid of race condition
    (#​2268)
  • Fixed ::unistd::Group::members using read_unaligned to avoid crash on
    misaligned pointers (#​2311)
Removed
  • The FchownatFlags type has been deprecated, please use AtFlags instead.
    (#​2267)
  • Removed the dup3 wrapper on macOS, which was emulated via dup2 and
    fcntl and could cause a race condition. The dup3 system call is not
    supported on macOS. (#​2268)
  • The LinkatFlags type has been deprecated, please use AtFlags instead.
    (#​2284)

v0.27.1

Compare Source

Fixed
  • Fixed generating the documentation on docs.rs.
    (#​2111)

v0.27.0

Compare Source

Added
  • Added AT_EACCESS to AtFlags on all platforms but android
    (#​1995)
  • Add PF_ROUTE to SockType on macOS, iOS, all of the BSDs, Fuchsia, Haiku, Illumos.
    (#​1867)
  • Added nix::ucontext module on aarch64-unknown-linux-gnu.
    (#1662)
  • Added CanRaw to SockProtocol and CanBcm as a separate SocProtocol constant.
    (#​1912)
  • Added Generic and NFLOG to SockProtocol.
    (#​2092)
  • Added mq_timedreceive to ::nix::mqueue.
    ([#​1966])(https://github.com/nix-rust/nix/pull/1966)
  • Added LocalPeerPid to nix::sys::socket::sockopt for macOS. (#​1967)
  • Added TFD_TIMER_CANCEL_ON_SET to ::nix::sys::time::TimerSetTimeFlags on Linux and Android.
    (#​2040)
  • Added SOF_TIMESTAMPING_OPT_ID and SOF_TIMESTAMPING_OPT_TSONLY to nix::sys::socket::TimestampingFlag.
    (#​2048)
  • Enabled socket timestamping options on Android. (#​2077)
  • Added vsock support for macOS (#​2056)
  • Added SO_SETFIB and SO_USER_COOKIE to nix::sys::socket::sockopt for FreeBSD.
    (#​2085)
  • Added SO_RTABLE for OpenBSD and SO_ACCEPTFILTER for FreeBSD/NetBSD to nix::sys::socket::sockopt.
    (#​2085)
  • Added MSG_WAITFORONE to MsgFlags on Android, Fuchsia, Linux, NetBSD,
    FreeBSD, OpenBSD, and Solaris.
    (#​2014)
  • Added SO_TS_CLOCK for FreeBSD to nix::sys::socket::sockopt.
    (#​2093)
  • Added support for prctl in Linux.
    (#1550)
  • nix::socket and nix::select are now available on Redox.
    (#​2012)
  • Implemented AsFd, AsRawFd, FromRawFd, and IntoRawFd for mqueue::MqdT.
    (#​2097)
  • Add the ability to set kevent_flags on SigEvent.
    (#​1731)
Changed
  • All Cargo features have been removed from the default set. Users will need to
    specify which features they depend on in their Cargo.toml.
    (#​2091)

  • Implemented I/O safety for many, but not all, of Nix's APIs. Many public
    functions argument and return types have changed:

    Original Type New Type
    AsRawFd AsFd
    RawFd BorrowedFd or OwnedFd

    (#1906)

  • Use I/O safety with copy_file_range, and expose it on FreeBSD.
    (#1906)

  • The MSRV is now 1.65
    (#​1862)
    (#​2104)

  • The epoll interface now uses a type.
    (#​1882)

  • With I/O-safe type applied in pty::OpenptyResult and pty::ForkptyResult,
    users no longer need to manually close the file descriptors in these types.
    (#​1921)

  • Refactored name parameter of mq_open and mq_unlink to be generic over
    NixPath.
    (#​2102).

  • Made clone unsafe, like fork.
    (#​1993)

Removed
  • sys::event::{kevent, kevent_ts} are deprecated in favor of
    sys::kevent::Kqueue::kevent, and sys::event::kqueue is deprecated in
    favor of sys::kevent::Kqueue::new.
    (#​1943)
  • Removed deprecated IoVec API.
    (#​1855)
  • Removed deprecated net APIs.
    (#​1861)
  • nix::sys::signalfd::signalfd is deprecated. Use
    nix::sys::signalfd::SignalFd instead.
    (#​1938)
  • Removed SigEvent support on Fuchsia, where it was unsound.
    (#​2079)
  • Removed flock from ::nix::fcntl on Solaris.
    (#​2082)

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

Copy link
Author

renovate bot commented Feb 24, 2024

⚠ Artifact update problem

Renovate failed to update artifacts related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: src/Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path src/qos_core/Cargo.toml --workspace
    Updating crates.io index
error: failed to select a version for `libc`.
    ... required by package `nix v0.28.0`
    ... which satisfies dependency `nix = "^0.28"` of package `integration v0.1.0 (/tmp/renovate/repos/github/tkhq/qos/src/integration)`
versions that meet the requirements `^0.2.153` are: 0.2.154, 0.2.153

all possible versions conflict with previously selected packages.

  previously selected package `libc v0.2.148`
    ... which satisfies dependency `libc = "=0.2.148"` of package `qos_core v0.1.0 (/tmp/renovate/repos/github/tkhq/qos/src/qos_core)`
    ... which satisfies path dependency `qos_core` (locked to 0.1.0) of package `integration v0.1.0 (/tmp/renovate/repos/github/tkhq/qos/src/integration)`

failed to select a version for `libc` which could resolve this conflict

File name: src/Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path src/integration/Cargo.toml --workspace
    Updating crates.io index
error: failed to select a version for `libc`.
    ... required by package `nix v0.28.0`
    ... which satisfies dependency `nix = "^0.28"` of package `integration v0.1.0 (/tmp/renovate/repos/github/tkhq/qos/src/integration)`
versions that meet the requirements `^0.2.153` are: 0.2.154, 0.2.153

all possible versions conflict with previously selected packages.

  previously selected package `libc v0.2.148`
    ... which satisfies dependency `libc = "=0.2.148"` of package `qos_core v0.1.0 (/tmp/renovate/repos/github/tkhq/qos/src/qos_core)`
    ... which satisfies path dependency `qos_core` (locked to 0.1.0) of package `integration v0.1.0 (/tmp/renovate/repos/github/tkhq/qos/src/integration)`

failed to select a version for `libc` which could resolve this conflict

@renovate renovate bot force-pushed the renovate/nix-0.x branch from 79b737b to ab9a64e Compare May 3, 2024 11:39
@renovate renovate bot changed the title fix(deps): update rust crate nix to 0.28 fix(deps): update rust crate nix to 0.28.0 May 3, 2024
@renovate renovate bot force-pushed the renovate/nix-0.x branch from ab9a64e to f234c43 Compare May 5, 2024 11:23
@renovate renovate bot changed the title fix(deps): update rust crate nix to 0.28.0 fix(deps): update rust crate nix to 0.28 May 5, 2024
@renovate renovate bot force-pushed the renovate/nix-0.x branch from f234c43 to a94bc65 Compare May 24, 2024 13:48
@renovate renovate bot changed the title fix(deps): update rust crate nix to 0.28 fix(deps): update rust crate nix to 0.29 May 24, 2024
Copy link
Author

renovate bot commented May 24, 2024

⚠️ Artifact update problem

Renovate failed to update artifacts related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: src/Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path src/integration/Cargo.toml --workspace
    Updating crates.io index
error: failed to select a version for `libc`.
    ... required by package `nix v0.29.0`
    ... which satisfies dependency `nix = "^0.29"` of package `integration v0.1.0 (/tmp/renovate/repos/github/tkhq/qos/src/integration)`
versions that meet the requirements `^0.2.155` are: 0.2.164, 0.2.163, 0.2.162, 0.2.161, 0.2.160, 0.2.159, 0.2.158, 0.2.157, 0.2.156, 0.2.155

all possible versions conflict with previously selected packages.

  previously selected package `libc v0.2.149`
    ... which satisfies dependency `libc = "=0.2.149"` of package `qos_core v0.1.0 (/tmp/renovate/repos/github/tkhq/qos/src/qos_core)`
    ... which satisfies path dependency `qos_core` (locked to 0.1.0) of package `integration v0.1.0 (/tmp/renovate/repos/github/tkhq/qos/src/integration)`

failed to select a version for `libc` which could resolve this conflict

File name: src/Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path src/qos_core/Cargo.toml --workspace
    Updating crates.io index
error: failed to select a version for `libc`.
    ... required by package `nix v0.29.0`
    ... which satisfies dependency `nix = "^0.29"` of package `integration v0.1.0 (/tmp/renovate/repos/github/tkhq/qos/src/integration)`
versions that meet the requirements `^0.2.155` are: 0.2.164, 0.2.163, 0.2.162, 0.2.161, 0.2.160, 0.2.159, 0.2.158, 0.2.157, 0.2.156, 0.2.155

all possible versions conflict with previously selected packages.

  previously selected package `libc v0.2.149`
    ... which satisfies dependency `libc = "=0.2.149"` of package `qos_core v0.1.0 (/tmp/renovate/repos/github/tkhq/qos/src/qos_core)`
    ... which satisfies path dependency `qos_core` (locked to 0.1.0) of package `integration v0.1.0 (/tmp/renovate/repos/github/tkhq/qos/src/integration)`

failed to select a version for `libc` which could resolve this conflict

@renovate renovate bot changed the title fix(deps): update rust crate nix to 0.29 Update Rust crate nix to 0.29 Jun 7, 2024
@renovate renovate bot force-pushed the renovate/nix-0.x branch from a94bc65 to bcbd00f Compare June 21, 2024 16:30
@renovate renovate bot requested a review from a team as a code owner June 21, 2024 16:30
@renovate renovate bot force-pushed the renovate/nix-0.x branch from bcbd00f to 8e78dc5 Compare June 27, 2024 21:21
@renovate renovate bot force-pushed the renovate/nix-0.x branch from 8e78dc5 to aa4298b Compare July 16, 2024 20:29
@lrvick
Copy link
Contributor

lrvick commented Aug 5, 2024

Remember: bots are not people, and they can't sign commits. A human must make this commit, and another human needs to review it.

@renovate renovate bot force-pushed the renovate/nix-0.x branch from aa4298b to 31f5d51 Compare November 17, 2024 15:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant