Go to file
Arsen Musayelyan 4d97210635
ci/woodpecker/push/woodpecker Pipeline was successful Details
Fix AUR repo in GoReleaser config
2023-02-01 12:10:19 -08:00
assets Move logo into repo 2022-12-22 13:55:29 -08:00
cmd/lure-api-server Add missing GPL headers and change year to 2023 2023-01-30 23:12:29 -08:00
distro Add missing GPL headers and change year to 2023 2023-01-30 23:12:29 -08:00
docs Check ~archive parameter for file downloader 2023-01-29 18:07:37 -08:00
internal Fix panic when performing incremental database updates 2023-02-01 11:55:22 -08:00
manager Add missing GPL headers and change year to 2023 2023-01-30 23:12:29 -08:00
scripts Add noconfirm flags to install script 2022-12-24 16:35:00 -08:00
translations Add more logs after executing package() 2023-01-31 14:05:45 -08:00
vercmp Add missing GPL headers and change year to 2023 2023-01-30 23:12:29 -08:00
.gitignore Add Dockerfile and docker.sh script 2022-12-20 21:24:15 -08:00
.goreleaser.yaml Fix AUR repo in GoReleaser config 2023-02-01 12:10:19 -08: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 Fix lure target dependencies in Makefile 2023-01-11 13:03:40 -08:00
README.md Upgrade status to beta 2023-01-31 14:08:57 -08:00
build.go Add more logs after executing package() 2023-01-31 14:05:45 -08:00
config.go Add missing GPL headers and change year to 2023 2023-01-30 23:12:29 -08:00
db.go Add missing GPL headers and change year to 2023 2023-01-30 23:12:29 -08:00
fix.go Add missing GPL headers and change year to 2023 2023-01-30 23:12:29 -08:00
go.mod Normalize URL for caching 2023-01-29 13:42:23 -08:00
go.sum Normalize URL for caching 2023-01-29 13:42:23 -08:00
helpers.go Add missing GPL headers and change year to 2023 2023-01-30 23:12:29 -08:00
info.go Add missing GPL headers and change year to 2023 2023-01-30 23:12:29 -08:00
install.go Add missing GPL headers and change year to 2023 2023-01-30 23:12:29 -08:00
list.go Add missing GPL headers and change year to 2023 2023-01-30 23:12:29 -08:00
main.go Add missing GPL headers and change year to 2023 2023-01-30 23:12:29 -08:00
repo.go Add missing GPL headers and change year to 2023 2023-01-30 23:12:29 -08:00
upgrade.go Add missing GPL headers and change year to 2023 2023-01-30 23:12:29 -08: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.arsenm.dev/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.arsenm.dev/Arsen6331/lure/releases/latest

LURE is also available on the AUR as lure-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.arsenm.dev/Arsen6331/lure-web), and is available at https://lure.arsenm.dev.


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/Arsen6331/lure-repo, and information about its packages is displayed at https://lure.arsenm.dev/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