Online Developer Meeting (2020-11-10): Difference between revisions
Jump to navigation
Jump to search
Line 95: | Line 95: | ||
==== New directions ==== | ==== New directions ==== | ||
===== | ===== pkg-index ===== | ||
* https://gnu-octave.github.io/pkg-index/ | |||
* https://github.com/gnu-octave/pkg-index/ | |||
* Super set of Octave Forge (all packages in latest version included) | |||
* Easy to add, update and delete entries (just one file of meta data) | |||
* Advertise pkg-index as (only) major platform for Octave packages? | |||
* Future development: | |||
** Automated quality checks (dead URLs, pkg installation problems) | |||
===== pkg tool ===== | ===== pkg tool ===== | ||
* Current pkg very interleaved with / limited by Octave Forge <code>-forge</code> | |||
** Abstracting package registry / index? | |||
* Alternatives exist [https://github.com/apjanke/octave-packajoozle octave-packajoozle (pkj)] | |||
* General design: '''Making pkg an Octave package?''' | |||
** Changes to pkg or the package format can be applied to old Octave versions. | |||
** Multiple pkg tools can be developed. | |||
====== Octave package format ====== | |||
* Documented [https://octave.org/doc/v5.2.0/Creating-Packages.html in the Octave manual] | |||
* In general good Octave programming project organization. | |||
* Permitting "DESCRIPTION.md" or "DESCRIPTION.txt" extensions? (Nice highlighting in many modern source code hosting platforms.) | |||
===== General questions ===== | |||
* How to teach people that creating an Octave package is as simple as [https://github.com/gnu-octave/pkg-example pkg-example]? | |||
* Packages must become smaller? | |||
** Split large packages into different functionalities? | |||
== Ideas for next meeting == | == Ideas for next meeting == |
Revision as of 09:03, 10 November 2020
Todays topics
- Meet and greet 5 minutes before meeting (audio testing).
The future of Octave Packages
- See also Discourse.
The Octave Forge legacy
Facts and figures
- https://octave.sourceforge.io/packages.php
- 50 community packages
- 21 external packages
- several unmaintained / renamed packages
- 25 new package releases (40 in total) for 2020.
- about 5 do not work with Octave 5.2 and about 12 will not work in Octave 6.1 (see link)
- https://sourceforge.net/p/octave/_members/
- 7 admins (only Olaf, Mike and Kai "active")
- 51 developer (maybe 10 recently)
- 5 request for new packages in the last two years (2 approved).
- Octave Forge is not attractive, why?
https://octave.sourceforge.io/
- Website looks great.
- No major updates (necessary) since 2018 http://hg.code.sf.net/p/octave/project-web
- Useful Function List. How to update this #53860?
- Original developer (Oliver) no longer active.
- Adding and updating packages here is expensive/dangerous
- manual SFTP uploads
- no version control for the individual package documentation
- approx. 5-10 minutes per package release.
https://sourceforge.net/projects/octave/
- FLOSS software based on Apache Allura
- One of the last hosting services offering Mercurial (hg) support
- Slow and many commercials, buggy UI.
Savannah
When reporting an Octave (core) bug on https://savannah.gnu.org/bugs/?group=octave you are "greeted" with 1523 open bug reports of which 330 reports (22%) belong to Octave Forge packages and 240 (15%) are older than a year.
- They are not likely to be closed or worked on and leave a maintenance burden and bad impression (user requests for unmaintained packages are ignored there) back to Octave (core).
Ideas:
- Ignore and collect requests to infinity?
- Close bugs of inactive packages older than X years? (Drop the illusion, that someone ever will fix it.)
- Octave Forge suggests to use the Savannah Bug tracker for bug reports. Drop this announcement?
- Reopen the old Octave Forge bug tracker?
MXE-Octave
- The MS Windows installer bundles 47 Octave packages.
- About 26 patches necessary to achieve this.
of-communications-1-catop.patch of-fits-1-cross-fixes.patch of-fits-2-fixes.patch of-fl-core-1-fixes.patch of-gsl-1-cross-fixes.patch of-interval-1-cross-fixes.patch of-ltfat-1-cross-fixes.patch of-nurbs-1-fixes.patch of-nurbs-2-dev-fixes.patch of-ocs-1-cross-fixes.patch of-ocs-2-dev-fixes.patch of-ocs-3-break-fixes.patch of-ocs-4-pkgadd-fixes.patch of-ocs-5-no-odepkg.patch of-odepkg-1-fixes.patch of-odepkg-2-fixes.patch of-odepkg-3-deprecated.patch of-quaternion-1-cross-fixes.patch of-quaternion-2-dev-fixes.patch of-sockets-1-cross-fixes.patch of-sockets-2-deprecated.patch of-specfun-1-deprecated.patch of-statistics-1-cross.patch of-strings-1-fixes.patch of-tisean-1-fixes.patch of-video-1-fixes.patch
- Forced updates to the packages?
- Make criterion to drop package from installer if it no longer compiles "normally" (document somewhere)?
- Document how to request package inclusion in the MS Windows installer (open bug report, Discourse, manual)?
New directions
pkg-index
- Super set of Octave Forge (all packages in latest version included)
- Easy to add, update and delete entries (just one file of meta data)
- Advertise pkg-index as (only) major platform for Octave packages?
- Future development:
- Automated quality checks (dead URLs, pkg installation problems)
pkg tool
- Current pkg very interleaved with / limited by Octave Forge
-forge
- Abstracting package registry / index?
- Alternatives exist octave-packajoozle (pkj)
- General design: Making pkg an Octave package?
- Changes to pkg or the package format can be applied to old Octave versions.
- Multiple pkg tools can be developed.
Octave package format
- Documented in the Octave manual
- In general good Octave programming project organization.
- Permitting "DESCRIPTION.md" or "DESCRIPTION.txt" extensions? (Nice highlighting in many modern source code hosting platforms.)
General questions
- How to teach people that creating an Octave package is as simple as pkg-example?
- Packages must become smaller?
- Split large packages into different functionalities?
Ideas for next meeting
Topic suggestions
Octave 7
- Not only providing major releases that "fix Matlab incompatibilities".
- Great new features for a great new release.
- Code sprints.
See also
- Next meeting: TBA
- Last meeting: Online Developer Meeting (2020-10-27)