lure/README.md

76 lines
3.2 KiB
Markdown
Raw 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-05-04 21:37:45 +00:00
[![status-badge](https://ci.elara.ws/api/badges/Elara6331/lure/status.svg)](https://ci.elara.ws/Elara6331/lure)
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-09-21 22:01:59 +00:00
curl -fsSL lure.elara.ws/install | bash
2022-11-27 20:46:08 +00:00
```
2022-12-24 01:49:02 +00:00
**IMPORTANT**: This method is not recommended as it executes any code that is stored at that URL. In order to make sure nothing malicious is going to occur, download the script and inspect it before running.
2022-11-27 20:46:08 +00:00
### Packages
2023-05-15 16:41:41 +00:00
Distro packages and binary archives are provided at the latest Gitea release: https://gitea.elara.ws/Elara6331/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-09-21 22:13:50 +00:00
LURE has an open source web interface, licensed under the AGPLv3 (https://gitea.elara.ws/Elara6331/lure-web), and it's available at https://lure.elara.ws/.
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