<script>
	import Header from '../header.svelte';
	import Footer from '../footer.svelte';
</script>

<svelte:head>
	<title>About | LURE Web</title>
	<meta name="description" content="I" />
</svelte:head>

<Header />

<section class="container content">
	<p class="title">About</p>
	<hr />
	<p class="subtitle">Why does LURE exist?</p>
	<p>
		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.
	</p>
	<p>
		Take Discord for example. It only provides a deb file and a tar.gz file, and it's not available
		in most official repositories. That means users of RPM distros have to manually install discord
		using the tarball or rely on community-maintained repoositories that don't always have
		up-to-date versions of Discord. That's also made worse by the fact that Discord refuses to run
		if there's a newer version available.
	</p>
	<p>
		LURE fixes that by always providing the most up to date version of Discord. That means all that
		RPM users have to do is run <code>lure in discord</code> and LURE will get the tarball and
		automatically build an RPM package out of it. Then if there's a newer version of Discord
		available, users can just run <code>lure up</code> and LURE will automatically download the updated
		version of Discord and install it. This also helps users of deb distros because it means they don't
		have to manually download packages for software like Discord.
	</p>
	<hr />
	<p class="subtitle">How does LURE work?</p>
	<p>
		Similar to Arch Linux's AUR, LURE has a repository of shell scripts that tell it how to build a
		package. When you run a LURE command, it updates its repository and interprets the shell script
		for the package you want to install using its built-in bash implementation. Then, it uses the
		code inside the script to build a file structure to be included in the final package. It detects
		which distro you're running, resolves dependencies, detects which package manager you have and
		which package format it uses, builds metadata for the package from the information in the shell
		script, builds the final package, and then runs the install command for your package manager to
		install it.
	</p>
	<hr />
	<p class="subtitle">How does LURE keep its packages up to date?</p>
	<p>
		LURE can automatically update its packages using a bot called
		<a href="https://gitea.elara.ws/lure/lure-updater">lure-updater</a>. It accepts plugins that
		detect when software is updated upstream and update the LURE package accordingly. The plugins
		that are currently running in my instance of the bot can be found in my
		<a href="https://gitea.elara.ws/lure/updater-plugins">updater-plugins</a> repo. The
		<code>discord-bin</code> package, for example, checks Discord's API every hour to see if they've
		released an updated version, and if they have, it pushes an update to LURE's repo.
	</p>
	<hr />
	<p class="subtitle">How do I add my own package to LURE?</p>
	<p>
		LURE provides
		<a href="https://github.com/lure-sh/lure/blob/master/docs/packages">
			comprehensive documentation
		</a> for packagers. If you need help with anything, feel free to ask on LURE's subreddit, which you
		can find in the footer of this site. If you find a bug or a missing feature, please open an issue
		on LURE's git repo.
	</p>
	<hr />
	<p class="subtitle">Can I use and modify LURE's icons?</p>
	<p>
		LURE's icons are available on the <a href="/icons">icons page</a> of this site. They're licensed
		under CC-BY-NC-SA 4.0, which means you're free to share, modify, and use the icons for non-commercial
		purposes as long as you give appropriate credit and indicate any changes made to the original icons.
	</p>
</section>

<Footer />
