Add a New Comment (Rich Markup)
Instead of having the individual packages point back to a canonical distribution point from their DESCRIPTION, maybe this could be done by defining a CSV or JSON format where a repository (like Octave Forge or a third-party repo or package index) could list all the packages and versions they contain? That way you could create repos that archive and publish distributions of packages even if the packages themselves do not internally declare themselves to be distributed from that location. Then a `pkg` user could register multiple repositories in addition to Octave Forge, and it wouldn't require the package distributions themselves to know about those repositories. (Like how Homebrew allows you to define custom Taps.) And it would support relocating the repository/index locations to different URLs without breaking the references in existing versions of the package archive files. I think there was a discussion on this about a year ago (where I was asking to get a little richer package index metadata from Octave Forge for Packajoozle's use), but I can't find the relevant bug for it now.
The 'pkg update' command should be able to update packages that are installed that are not part of the Octave Forge family of packages. An example of the current problem that I want to solve:
>> pkg update warning: pkg: package goodies not found on Octave Forge - skipping update warning: pkg: package jsonstuff not found on Octave Forge - skipping update warning: pkg: package packajoozle not found on Octave Forge - skipping update warning: pkg: package pythonic not found on Octave Forge - skipping update warning: pkg: package tablicious not found on Octave Forge - skipping update warning: pkg: package testify not found on Octave Forge - skipping update >>
This can be solved by allowing packages to declare a URL where the most recent version or a list of recent versions can be scraped and downloaded. 1. Choose and standardize on a field that can be added to the DESCRIPTION file 2. Add a new subfunction to pkg.m to be able to scrape an arbitrary URL for tar.gz file names 3. Sort the scraped files by the version embedded in the file name 4. Download and install the highest version number The intent is to help make Octave package development, maintenance, and distribution to be decoupled from SourceForge and the Octave Forge project infrastructure in particular.
(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)
Attach Files: Comment:
No files currently attached
Depends on the following items: None found
Items that depend on this one: None found
There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.
Only project members can vote.
Please enter the title of George Orwell's famous dystopian book (it's a date):
Follow 2 latest changes.
Copyright © 2023 Free Software Foundation, Inc. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. The Levitating, Meditating, Flute-playing Gnu logo is a GNU GPL'ed image provided by the Nevrax Design Team. Source Code
Powered by Savane 3.12