What port does rust install?

As soon as I saw this recent update wanting to build and install cargo I knew rust wasn't far behind so I stopped the update and changed the config options for gd.

But it seems more and more is being re-built with rust so at some point I'll have a critical dependancy on rust and be forced to do things differently.
We need a libimagequant2 port. Not it!
 
bagas

$ poudriere bulk -j jpoudriere -p HEAD -v -n -Ct graphics/gd

graphics/gd depends on graphics/libimagequant
graphics/libimagequant depends on devel/cargo-c
graphics/libimagequant depends on lang/rust

In fact, new graphics/libimagequant depends on RUST/Cargo-C now:

If you dont need libimagequant, "make config" in graphics/gd, then remove LIQ option.
 
Well, avoid ports that unconditionally require it and disable port options that require it, simple as that 🤷‍♂️

But I guess in the long run, this will lead nowhere. Right now, I got the impression that rust is quickly adopted as an alternative to C and/or C++.
 
--- describe.x11-servers ---
--- describe.x11-themes ---
--- describe.x11-toolkits ---
--- describe.x11-wm ---
Done.
root@qfertil:/usr/ports # rehash
root@qfertil:/usr/ports # pkg version -v | grep "libimagequant"
libimagequant-2.17.0 < needs updating (index has 4.0.4)
Here is the infection! )))
I see that now every server will have this rust, I want to scold!
 
[...] Installation on both servers came from /usr/ports/.
pkg version -v | grep "libimagequant"
libimagequant-4.0.4 = up-to-date with index
[...]
on another server
# pkg version -v | grep "libimagequant"
libimagequant-2.17.0 = up-to-date with index
[...]
Why then in one case version 4.0.4 was installed in another ver.2.17.0?
Ports from git update about once a month.

graphics/libimagequant was updated very recently*; look at graphics/libimagequant and its Commit History:
4.0.4
02 Nov 2022 13:58:14
I presume you were using something like**
git clone https://git.FreeBSD.org/ports.git /usr/ports
and additional git commands for updating from the head branch of the remote repository (4.5.1. Installing the Ports Collection)

The latest branch at the remote repository can be updated at any time (that can be daily); the latest branch is on a rolling release. You have separate servers and get the sources from the remote repository via git commands on each server separately. That means you must be very careful that these servers have the same ports sources you use to build from. Check and compare the sources of graphics/libimagequant of both servers you mentioned.

If you want to completely eliminate the existence of individual sources on different servers, please consider 4.6. Building Packages with Poudriere. You can then build your own individually shaped packages at one local place and update your servers with packages from that local place.
___
* packages for the new version have not even been built; they are still on libimagequant-2.17.0.
** and not something like git clone https://git.FreeBSD.org/ports.git -b 2020Q3 /usr/ports for the quarterly branch
 
If rust is installed as a binary package, pkg install rust and all other software is built from /usr/ports.
Then if i upgrade all the software on the server portupgrade -arR, then will rust from /usr/ports not be updated in this case?
 
It will be upgraded when a newer version from ports exists.
The bad thing I don't like about rust is that it is very resource intensive to update it.
rust updates occur regularly, once a month or 2 times a month.
 
The bad thing I don't like about rust is that it is very resource intensive to update it.
It's not much different from e.g. llvm. Such packages (compiler, language runtime, ...) just tend to be pretty large. Of course, we already have llvm in base, so as long as all you need is the version that's in base, you won't notice that unless you build base yourself.

rust updates occur regularly, once a month or 2 times a month.
Which also isn't uncommon for actively developed software. The generic solution with FreeBSD ports is to use quarterly if you want to minimize updates while still receiving security- and other fixes.
 
The bad thing I don't like about rust is that it is very resource intensive to update it.
The same goes for llvm. Since these are building tools not needed during runtime, pkg autoremove will remove these ports, causing unnecessary rebuilds. You can keep that from happening with % pkg set -A 0 lang/rust.
 
Exactly, there is already one resource-intensive lvm engine for assembly, so now another one has appeared.
 
I have a Linux Gentoo system on one of the servers, the Gentoo system has a similar port system.
In gentoo has a rust-bin port so as not to torment the server with the installation.
Is it possible to create like a port rust-bin port on FreeBSD to install from /usr/ports/ ?
Thinking out loud, I just don't see the point of compiling rust on the server to install a simple, single port.

example

It is very convenient to have such a port (rust-in), do not need to wait a lot of time until the rust port is assembled on a weak server hardware.
 
I have all servers amd64, some of them have an intel processor, the other part is amd.
On one of the servers with an Intel xeon processor, build rust from /usr/ports, then create a binary package rust (pkg create -o /usr/ports/packages/ rust-1.64.0) and place it on all servers for installation (with an Intel processor) pkg add /usr/ports/packages/rust-1.64.0.pkg.
Repeat the same procedure on servers with an amd processor.
What do you think about this?
 
Hi
I also hit with the 'huge rust' issue - py-certbot needs py-cryptography that needs py-setuptools-rust now...

As a rule - I update all ports with portmaster.
But huge rust makes this way almost impossible for me - because it requires huge amount of free disk space.
Is it a valid solution to make an 'update batch' that first will update the rust as a package, and only then run portmaster to update all other ports?
 
Is it a valid solution to make an 'update batch' that first will update the rust as a package, and only then run portmaster to update all other ports?
If you are using "pkg+http://pkg.FreeBSD.org/${ABI}/latest" repository and your ports tree has the same version of rust with it's default config then you can install rust first as pkg so you won't have to build it. A better option is to build your custom ports on another machine with synth and install them as pkg and maintain your custom repo from where you can install them as pkg instead of building the ports on limited resource server.
 
Back
Top