Have "Meta-packages" (dummy packages) which hold several "sub-packages" (complete and real GAP packages), which are distributed in a single tarball.
This is useful for several reasons
pkg
directory and within the Packages section of the GAP websitePackageInfo.g
should sub-packages be allowed to have sub-packags of their own?
what about the name(s): some people found meta-package confusing; subpackage seems to be OK. Alternatives?
dependencies: should the meta package depend on its subpackages / children? or the other way around? or nothing at all?
LoadPackage("metapkg")
do the expected thing (i.e., load all subpackages)LoadPackage("metapackage")
would not do what you'd expect (at least not without a hack; which in turn would make it more complicatd to explain what LoadPackage does).
should the meta package be allowed to have an init.g (and read.g)? Be required (as regular packages are)? Be forbidden
init.g
. I am neutral on whethr it should be allowed to have one; but of course once again, it's easier to add this later, then to remove a feature once it's out in the open (implementation wise, allowing init.g
is the least work, but it should be a 1-2 line change to forbid it for metapackages)doc
and tst
directories, and scripts to build the meta-manual and run tests should be permitted.the validator needs to be update to deal with meta and sub packages
documentation needs to be written
the GAP distribution needs to be adapted to support them:
Website / GapWWW:
index.html
, so this becomes https://www.gap-system.org/Packages/aclib/. Now suppose you have MetaPkg
containing Sub1
and Sub2
. Then the URLs for this could be https://www.gap-system.org/Packages/MetaPkg/, https://www.gap-system.org/Packages/MetaPkg/Sub1, https://www.gap-system.org/Packages/MetaPkg/Sub2. I think this is not too hard to do, but of course if something is easier to implement, I am also open to thatSebastian has started work on a prototype
IsMetaPackage = true
(Currently in https://github.com/gap-system/gap/pull/2267)document: meta packages don't need a manual; but they can, and we encourage that they either have one; or that some subpackage has a manual index entry named "NameOfMetaPackage" so that people can enter ?NameOfMetaPackage
to learn what the meta package is about
how to present meta/sub packages on website?
interaction with PackageManager ?
Fix validator code
Policies of meta-packages
testing: when importing package updates, I think we run tests at some point. Well, for meta packages, we should run the tests of all subpackages! So we need to ensure we do that.
or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Do you want to remove this version name and description?
Syncing