Go to file
Elara 5d566fcf15
ci/woodpecker/push/woodpecker Pipeline was successful Details
Fix panic when an element is missing in the checksums array
2023-08-03 12:57:05 -07:00
assets Move logo into repo 2022-12-22 13:55:29 -08:00
cmd/lure-api-server Run formatter 2023-07-11 13:15:06 -07:00
distro Update domain 2023-04-20 20:01:05 -07:00
docs Add the ability to change the hashing algorithm 2023-07-11 17:00:30 -07:00
internal Fix file downloader not returning the name of the downloaded file 2023-08-03 12:47:17 -07:00
manager Add missing GPL headers and change year to 2023 2023-01-30 23:12:29 -08:00
scripts Update goreleaser config and scripts for new name/domain 2023-04-26 22:14:57 -07:00
translations Add torrent downloader 2023-05-24 11:57:50 -07:00
.gitignore Add Dockerfile and docker.sh script 2022-12-20 21:24:15 -08:00
.goreleaser.yaml Use aria2 for torrent downloads 2023-07-11 13:14:54 -07:00
.woodpecker.yml Add woodpecker CI config 2022-11-18 08:18:02 +00:00
LICENSE Add GPLv3 License 2022-09-26 19:21:39 +00:00
Makefile Disable cgo in Makefile 2023-05-24 12:08:40 -07:00
README.md Update domain in README 2023-05-15 09:41:41 -07:00
build.go Fix panic when an element is missing in the checksums array 2023-08-03 12:57:05 -07:00
config.go Update domain 2023-04-20 20:01:05 -07:00
db.go Move database load into main() 2023-05-04 11:53:01 -07:00
fix.go Update domain 2023-04-20 20:01:05 -07:00
go.mod Use aria2 for torrent downloads 2023-07-11 13:14:54 -07:00
go.sum Use aria2 for torrent downloads 2023-07-11 13:14:54 -07:00
helpers.go Make ubuntu use multiarch tuples 2023-07-13 11:17:24 -07:00
info.go Update domain 2023-04-20 20:01:05 -07:00
install.go Update domain 2023-04-20 20:01:05 -07:00
list.go Update domain 2023-04-20 20:01:05 -07:00
main.go Add unsafe options to config 2023-05-04 17:56:46 -07:00
repo.go Update domain 2023-04-20 20:01:05 -07:00
upgrade.go Split vercmp into a separate module 2023-06-22 14:45:05 -07:00

README.md

LURE Logo

LURE (Linux User REpository)

Go Report Card status-badge linux-user-repository-bin AUR package

LURE is a distro-agnostic build system for Linux, similar to the AUR. 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.

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.


Installation

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:

curl https://www.elara.ws/lure.sh | bash

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.

Packages

Distro packages and binary archives are provided at the latest Gitea release: https://gitea.elara.ws/Elara6331/lure/releases/latest

LURE is also available on the AUR as linux-user-repository-bin

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:

sudo make install

Why?

Arch Linux's AUR is a very useful feature. It's one of the main reasons I and many others use Arch on most of their devices. However, Arch is not always a good choice. Whether you're running a server that needs to be stable over long periods of time, or you're a beginner and feel intimidated by Arch, there are many different reasons not to use it. Such useful functionality should not be restricted to only a single distro. That is what LURE is meant to solve.


Documentation

The documentation for LURE is in the docs directory in this repo.


Web Interface

LURE now has a web interface! It's open source, licensed under the AGPLv3 (https://gitea.elara.ws/Elara6331/lure-web), and is available at https://lure.elara.ws.


Repositories

Unlike the AUR, LURE supports third-party repositories. Also unlike the AUR, LURE's repos are single git repositories containing all the build scripts. Inside each LURE repo, there is a separate directory for each package, containing a lure.sh script, which is a PKGBUILD-like build script for LURE. The default repository is hosted on Github: https://github.com/Elara6331/lure-repo, and information about its packages is displayed at https://lure.elara.ws/pkgs.


Dependencies

As mentioned before, LURE has zero dependencies after compilation. Thanks to the following projects for making this possible:


Planned Features

  • Automated docker-based testing tool