Skip to content

Commit

Permalink
docs: update README.md, move old to docs/REFERENCE.md
Browse files Browse the repository at this point in the history
  • Loading branch information
okay committed Sep 3, 2020
1 parent b91bc49 commit e25aaf3
Show file tree
Hide file tree
Showing 2 changed files with 101 additions and 75 deletions.
94 changes: 19 additions & 75 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,83 +1,27 @@
**Work in progress**

opkg: Package manager used by Entware

* https://openwrt.org/docs/guide-user/additional-software/opkg
* https://elinux.org/images/2/24/Opkg_debians_little_cousin.pdf
* https://git.yoctoproject.org/cgit/cgit.cgi/opkg
* https://git.yoctoproject.org/cgit/cgit.cgi/opkg-utils/

## Package format

**ipk**

Inherited from the legacy ipkg tool. Similar to deb.

A tar.gz archive containing two sub-archives:

* data.tar.gz: Files of the package.
- The structure mirrors that of the root filesystem.
* control.tar.gz: Metadata about the package.
- Install scripts (optional)
- preinst: Executed before uncompressing the data.
- postinst: Executed after the package has been installed.
- prerm: Executed before uninstalling the package.
- postrm: Executed after uninstalling the package.
- Metadata files
- control: Package description (required).
- conffiles: Files to keep upon upgrading the package (optional).

### Control file

Fields

* Package: Name of the package (same as in the package archive name).
* Priority: optional.
* Depends: list of space-separated dependencies.
* Section: See <https://packages.debian.org/stable/> for a list of sections in Debian.
* Description: Short description for the package.
* Maintainer: Full Name <[email protected]>
* Source: N/A
* Version: Package version
## about

### See also

* <https://raymii.org/s/tutorials/Building_IPK_packages_by_hand.html>
* <https://bitsum.com/creating_ipk_packages.htm>
* <https://artisan.karma-lab.net/comprendre-paquets-ipk>

## Repository format

Also called a feed.

Directory with list of packages and a `Packages` file

Package naming: `appname_version_arch.ipk`

Config `/opt/etc/opkg.conf`

```
src NAME URL
src/gz NAME URL
```

Where URL is the feed root

### See also

* <https://jumpnowtek.com/yocto/Managing-a-private-opkg-repository.html>
* <https://jumpnowtek.com/yocto/Using-your-build-workstation-as-a-remote-package-repository.html>
**Work in progress**

## Building
toltec is a community maintained repository of software for the remarkable tablet.

`build-repo`
the core of toltec is this git repository, which contains instructions for
building the packages found in the [toltec.delab.re opkg
repository](https://toltec.delab.re). Whenever a new commit is pushed, the opkg
repository is updated via GitHub Actions.

Date of latest commit

opkg-utils must be in PATH
### building

For reproducibility:
to build all the packages, run `make` from the base repository. this will
involve downloading a docker image (1GB) and the remarkable toolchain which
will expand to 3GB. the final build artifacts will be found in `artifacts/`.

- must be done under the same root path
### adding or updating a package

Automatically updated when commits are pushed to the master branch, via GitHub Actions.
* clone this repository
* switch to `testing` branch
* edit package/YOURPACKAGE/package, making sure to bump the version
* build the package (`PACKAGE=YOURPACKAGE scripts/build-package-in-docker`), making sure everything looks ok in artifacts/package/YOURPACKAGE/
* install the package to your tablet, verifying things work as expected
* for new packages, submit a pull request with the title: [$PACKAGE][$VERSION] - New Package
* for updating packages, submit a pull request with the title: [$PACKAGE][$VERSION] - Updated Package
82 changes: 82 additions & 0 deletions docs/REFERENCE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@

opkg: Package manager used by Entware

* https://openwrt.org/docs/guide-user/additional-software/opkg
* https://elinux.org/images/2/24/Opkg_debians_little_cousin.pdf
* https://git.yoctoproject.org/cgit/cgit.cgi/opkg
* https://git.yoctoproject.org/cgit/cgit.cgi/opkg-utils/

## Package format

**ipk**

Inherited from the legacy ipkg tool. Similar to deb.

A tar.gz archive containing two sub-archives:

* data.tar.gz: Files of the package.
- The structure mirrors that of the root filesystem.
* control.tar.gz: Metadata about the package.
- Install scripts (optional)
- preinst: Executed before uncompressing the data.
- postinst: Executed after the package has been installed.
- prerm: Executed before uninstalling the package.
- postrm: Executed after uninstalling the package.
- Metadata files
- control: Package description (required).
- conffiles: Files to keep upon upgrading the package (optional).

### Control file

Fields

* Package: Name of the package (same as in the package archive name).
* Priority: optional.
* Depends: list of space-separated dependencies.
* Section: See <https://packages.debian.org/stable/> for a list of sections in Debian.
* Description: Short description for the package.
* Maintainer: Full Name <[email protected]>
* Source: N/A
* Version: Package version

### See also

* <https://raymii.org/s/tutorials/Building_IPK_packages_by_hand.html>
* <https://bitsum.com/creating_ipk_packages.htm>
* <https://artisan.karma-lab.net/comprendre-paquets-ipk>

## Repository format

Also called a feed.

Directory with list of packages and a `Packages` file

Package naming: `appname_version_arch.ipk`

Config `/opt/etc/opkg.conf`

```
src NAME URL
src/gz NAME URL
```

Where URL is the feed root

### See also

* <https://jumpnowtek.com/yocto/Managing-a-private-opkg-repository.html>
* <https://jumpnowtek.com/yocto/Using-your-build-workstation-as-a-remote-package-repository.html>

## Building

`build-repo`

Date of latest commit

opkg-utils must be in PATH

For reproducibility:

- must be done under the same root path

Automatically updated when commits are pushed to the master branch, via GitHub Actions.

0 comments on commit e25aaf3

Please sign in to comment.