lure/README.md

77 lines
3.4 KiB
Markdown
Raw Permalink Normal View History

2022-12-22 21:55:29 +00:00
<img src="assets/logo.png" alt="LURE Logo" width="200">
2022-12-22 21:52:36 +00:00
2022-09-25 21:00:15 +00:00
# LURE (Linux User REpository)
2023-05-15 16:41:41 +00:00
[![Go Report Card](https://goreportcard.com/badge/go.elara.ws/lure)](https://goreportcard.com/report/go.elara.ws/lure)
2023-10-07 19:12:00 +00:00
[![status-badge](https://ci.elara.ws/api/badges/lure/lure/status.svg)](https://ci.elara.ws/lure/lure)
2023-10-23 18:16:10 +00:00
[![SWH](https://archive.softwareheritage.org/badge/origin/https://gitea.elara.ws/lure/lure.git/)](https://archive.softwareheritage.org/browse/origin/?origin_url=https://gitea.elara.ws/lure/lure.git)
2023-02-01 20:22:32 +00:00
[![linux-user-repository-bin AUR package](https://img.shields.io/aur/version/linux-user-repository-bin?label=linux-user-repository-bin&logo=archlinux)](https://aur.archlinux.org/packages/linux-user-repository-bin/)
2022-09-26 19:31:55 +00:00
2023-01-31 22:08:57 +00:00
LURE is a distro-agnostic build system for Linux, similar to the [AUR](https://wiki.archlinux.org/title/Arch_User_Repository). It is currently in **beta**. Most major bugs have been fixed, and most major features have been added. LURE is ready for general use, but may still break or change occasionally.
2022-09-25 21:00:15 +00:00
2022-12-24 01:49:02 +00:00
LURE is written in pure Go and has zero dependencies after building. The only things LURE requires are a command for privilege elevation such as `sudo`, `doas`, etc. as well as a supported package manager. Currently, LURE supports `apt`, `pacman`, `apk`, `dnf`, `yum`, and `zypper`. If a supported package manager exists on your system, it will be detected and used automatically.
2022-09-25 21:51:05 +00:00
---
2022-09-25 21:57:30 +00:00
## Installation
2022-11-27 20:46:08 +00:00
### Install script
The LURE install script will automatically download and install the appropriate LURE package on your system. To use it, simply run the following command:
```bash
2023-10-07 19:12:00 +00:00
curl -fsSL lure.sh/install | bash
2022-11-27 20:46:08 +00:00
```
2023-10-10 22:50:30 +00:00
**IMPORTANT**: This will download and run the script from https://lure.sh/install. Please look through any script you download from the internet (including this one) before running it.
2022-11-27 20:46:08 +00:00
### Packages
2023-10-07 19:12:00 +00:00
Distro packages and binary archives are provided at the latest Gitea release: https://gitea.elara.ws/lure/lure/releases/latest
2022-09-25 21:57:30 +00:00
2023-02-06 04:43:26 +00:00
LURE is also available on the AUR as [linux-user-repository-bin](https://aur.archlinux.org/packages/linux-user-repository-bin)
2022-09-29 00:10:35 +00:00
### Building from source
To build LURE from source, you'll need Go 1.18 or newer. Once Go is installed, clone this repo and run:
```shell
sudo make install
```
2022-09-25 21:57:30 +00:00
---
2022-09-25 21:51:05 +00:00
## Why?
2023-09-21 22:13:50 +00:00
LURE was created because packaging software for multiple Linux distros can be difficult and error-prone, and installing those packages can be a nightmare for users unless they're available in their distro's official repositories. It automates the process of building and installing unofficial packages.
2022-09-25 21:51:05 +00:00
---
2022-09-29 21:36:06 +00:00
## Documentation
2022-09-25 21:51:05 +00:00
2022-09-29 21:36:06 +00:00
The documentation for LURE is in the [docs](docs) directory in this repo.
2022-09-25 21:51:05 +00:00
---
2022-12-22 22:00:06 +00:00
## Web Interface
2023-10-07 19:12:00 +00:00
LURE has an open source web interface, licensed under the AGPLv3 (https://gitea.elara.ws/lure/lure-web), and it's available at https://lure.sh/.
2022-12-22 22:00:06 +00:00
---
2022-09-25 21:51:05 +00:00
## Repositories
2023-09-21 22:13:50 +00:00
LURE's repos are git repositories that contain a directory for each package, with a `lure.sh` file inside. The `lure.sh` file tells LURE how to build the package and information about it. `lure.sh` scripts are similar to the AUR's PKGBUILD scripts.
2022-09-25 21:51:05 +00:00
---
2023-09-21 22:13:50 +00:00
## Acknowledgements
2022-09-25 21:51:05 +00:00
2023-09-21 22:13:50 +00:00
Thanks to the following projects for making LURE possible:
2022-09-25 21:51:05 +00:00
2022-12-24 01:49:02 +00:00
- https://github.com/mvdan/sh
- https://github.com/go-git/go-git
- https://github.com/mholt/archiver
- https://github.com/goreleaser/nfpm
- https://github.com/charmbracelet/bubbletea
2023-09-21 22:13:50 +00:00
- https://gitlab.com/cznic/sqlite