Solved updating a package that is a lower version then in pkg to a higher version using ports. can do??

Is it possible to use the port make file(s) to update an app that is a higher version then what is in (current) pkg side?
 
Are you talking about a later version of a package than what the official binary repositories are offering or a later version of an upstream than what the corresponding port is offering?
 
Is it possible to use the port make file(s) to update an app that is a higher version then what is in (current) pkg side?
It is.
Code:
root@case:~ # pkg version -vRx flask
Updating dicelan repository catalogue...
dicelan repository is up to date.
All repositories are up to date.
py39-Flask-2.3.2                   =   up-to-date with remote
py39-Flask-WTF-1.1.1               >   succeeds remote (remote has 0.15.1)
Local patch to update Flask WTF. Patch hasn't landed in the ports tree yet. As long as you correct the PORTVERSION of the port, pkg(8) will do the 'right' thing. In other words, it won't suddenly 'downgrade' your locally installed newer version for the one that's in the repository. Only if you actually force it to reinstall, i.e. pkg install -f py39-Flask-WTF would take the one from the repository (beware of locally cached packages though).
 
Are you talking about a later version of a package than what the official binary repositories are offering or a later version of an upstream than what the corresponding port is offering?
later then what is in the pkg side, I don't have ports installed to see if they have a later version. Specifically, Blender that is 3.4.1x and they have 3.5.1 out and 3.6 in beta already that have far better capabilities then 3.4.x. In linux I can just download whatever they have to offer, but not in FreeBSD. I get offered the windows version.

So being in port where one has to build from scratch I was thinking I might want to give it a try to pull everything needed to build a latest version and see if I can get that to build properly on my laptop. thinking I might be able to modify the files needed, too adding this would be a learning curve for me to figure it out. I was just thinking I might want to give it a try.

I'm actually
$> sudo git clone https://git.FreeBSD.org/ports.git -b 2023Q1 /usr/ports

right now
 
It is.
Code:
root@case:~ # pkg version -vRx flask
Updating dicelan repository catalogue...
dicelan repository is up to date.
All repositories are up to date.
py39-Flask-2.3.2                   =   up-to-date with remote
py39-Flask-WTF-1.1.1               >   succeeds remote (remote has 0.15.1)
Local patch to update Flask WTF. Patch hasn't landed in the ports tree yet. As long as you correct the PORTVERSION of the port, pkg(8) will do the 'right' thing. In other words, it won't suddenly 'downgrade' your locally installed newer version for the one that's in the repository. Only if you actually force it to reinstall, i.e. pkg install -f py39-Flask-WTF would take the one from the repository (beware of locally cached packages though).
Code:
root@FreeBeSssDeee:/home/userx # pkg version -vRx blender
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
blender-3.4.1_9                    =   up-to-date with remote
as I do not have ports installed, if that is where it is getting two different package versions.

MOD:
I changed my header question as I see it was misleading.
 
So you want to
- have a version of blender that is both newer
- than what is in packages
- and than what is in ports
?

You might be in for an uphill battle with a second-digit update of blender.
 
here in
FreshPorts.org is your friend!

It is so ubiquitous in the FreeBSD world that this forum even has markup for it: graphics/blender
Click on it an enjoy all the info :)
the makefile I cannot just change it to the current version and have it pull it in ?
Code:
$> cat  /usr/ports/graphics/blender/Makefile
PORTNAME=    blender
DISTVERSION=    3.4.1
PORTREVISION=    1
CATEGORIES=    graphics multimedia
MASTER_SITES=    http://download.blender.org/source/ \
        http://mirror.cs.umn.edu/blender.org/source/ \
        http://public.planetmirror.com/pub/blender/source/
source dir
MASTER_SITES= http://download.blender.org/source/ \
http://mirror.cs.umn.edu/blender.org/source/ \
http://public.planetmirror.com/pub/blender/source/

Code:
blender-3.5.1.tar.xz                               25-Apr-2023 11:40            69780800
blender-3.5.1.tar.xz.md5sum                        25-Apr-2023 11:40                  55
 
So you want to
- have a version of blender that is both newer
- than what is in packages
- and than what is in ports
?

You might be in for an uphill battle with a second-digit update of blender.
I have not read up entirely on this but,
Code:
In rare cases, such as when an organization has a local distfiles repository, the MASTER_SITES variable can be used to override the download locations specified in the Makefile. When using, specify the alternate location:
# cd /usr/ports/directory
# make MASTER_SITE_OVERRIDE= \
ftp://ftp.organization.org/pub/FreeBSD/ports/distfiles/ fetch

The WRKDIRPREFIX and PREFIX variables can override the default working and target directories. For example:
# make WRKDIRPREFIX=/usr/home/example/ports install

will compile the port in /usr/home/example/ports and install everything under /usr/local.
# make PREFIX=/usr/home/example/local install

will compile the port in /usr/ports and install it in /usr/home/example/local. And:
# make WRKDIRPREFIX=../ports PREFIX=../local install

will combine the two.
These can also be set as environmental variables. Refer to the manual page for your shell for instructions on how to set an environmental variable.

checking those sights and seeing the updated versions beyond what is in the makefile just strongly suggest the maintainer has not updatged theres to the latest version, maybe because 1. has not gotten around to it, 2. does not work so no update to that latest version, 3. I have no idea why they have not kept it up to a current version of the software.
Code:
$> cat  /usr/ports/graphics/blender/Makefile
PORTNAME=    blender
DISTVERSION=    3.4.1
PORTREVISION=    1
CATEGORIES=    graphics multimedia
MASTER_SITES=    http://download.blender.org/source/ \
        http://mirror.cs.umn.edu/blender.org/source/ \
        http://public.planetmirror.com/pub/blender/source/
Code:
$> cat  /usr/ports/graphics/blender/Makefile.versions
# Versions of Blender and its python dependency for use by depending ports, like add-ons

BLENDER_BL_VERSION=    3.4.1
BLENDER_PY_VERSION=    3.10
Code:
$> cat  /usr/ports/graphics/blender/distinfo
TIMESTAMP = 1672365591
SHA256 (blender-3.4.1.tar.xz) = 247c4c1228270c9010f4721c985cb5b628ab50abcf9f2678630737142eeb91c3
SIZE (blender-3.4.1.tar.xz) = 53666296

updating the files needed and using their makefile and just changing the version to the latest will it not then just pull that one in and use that.
When this document is not sufficiently detailed, refer to /usr/ports/Mk/bsd.port.mk, which is included by all port Makefiles. Even those not hacking Makefiles daily can gain much knowledge from it. Additionally, specific questions can be sent to the FreeBSD ports mailing list.
 
If you just change the version number and adjust distinfo it will indeed attempt to just build the new version.

The problem is that the FreeBSD patches are unlikely to apply cleanly.
 
If you just change the version number and adjust distinfo it will indeed attempt to just build the new version.

The problem is that the FreeBSD patches are unlikely to apply cleanly.
patches : how do I look into patches if any?
 
Looks like you just got the update you want:
Code:
commit 2233c84cffacbdd23790ae539ddf15e80fafcf59
Author: Dima Panov <fluffy@FreeBSD.org>
Date:   Fri May 26 02:58:09 2023 +0300

    graphics/blender: update to 3.5.1 release (+)
 
Looks like you just got the update you want:
Code:
commit 2233c84cffacbdd23790ae539ddf15e80fafcf59
Author: Dima Panov <fluffy@FreeBSD.org>
Date:   Fri May 26 02:58:09 2023 +0300

    graphics/blender: update to 3.5.1 release (+)
cool : marked solved :beer:
 
Back
Top