How to create projects on BitBucket and add an Arch Linux repository

This article will not make any sense if you did not see the tutorials in this article.

We have SSH and GPG already setup after the tutorial of Github

We can reuse our settings for BitBucket

PACMAN CODE

[prime_repo]
SigLevel = Optional TrustedOnly
Server = https://bitbucket.org/linuxprime/$repo/raw/main/$arch/

Phase 1

This video describes the process and exploration of using various Git hosting platforms such as GitLab, GitHub, and Bitbucket for managing Arch Linux repositories. The speaker initially focuses on updating an article about Git, emphasizing the importance of backups and the setup of SSH and GPG keys for security. They highlight the necessity of understanding Git basics, even when choosing to work with platforms like GitLab over GitHub.

The journey continues with the creation of a new account on Bitbucket to complement the projects already established on GitLab and GitHub. Bitbucket, known for its integration with products like Jira and Trello (both used by the speaker), is evaluated for its potential to host Git repositories. The speaker goes through the account creation process on Bitbucket, emphasizing the importance of accurate information and exploring Bitbucket’s features, such as repository creation and visibility settings.

Lastly, the video touches upon the possibility of hosting Arch Linux repositories on Bitbucket. The speaker outlines the steps for creating and pushing an Arch Linux package repository to Bitbucket, indicating plans to test and document the process further. The exploration concludes with reflections on the ease of making projects publicly visible on Bitbucket compared to GitLab, and a teaser for potential future content regarding hosting ArcoLinux repositories on Bitbucket.

Here we continue to teach for isobuilders

 

Phase 2

creating an Arch Linux repository for pacman

This video outlines the author’s inexperience in creating and managing an Arch Linux repository on Bitbucket, alongside repositories already set up on GitHub and GitLab. The author initially encounters challenges in creating a repository named “prime_repo” on Bitbucket due to issues with deleting and renaming repositories. After navigating through Bitbucket’s interface without finding a straightforward way to remove old repositories, the author discovers that waiting for a bit allows for the creation of the desired repository with the name “prime_repo.”

Once the repository is successfully created, the author proceeds to clone it, add files, and push updates. They then explore Bitbucket’s interface for managing repositories, touching on features like pull requests and workspace settings. The goal is to make the repository publicly accessible for users to download and install packages from it using Pacman, Arch Linux’s package manager.

However, the author faces another hurdle with making the Arch Linux repository accessible. They note that the repository’s database appears as an HTML document rather than the expected database format, indicating that the URL used in Pacman’s configuration might not be correct. After experimenting with various URL formats and encountering errors, the author finds that adding “raw” to the URL path allows Pacman to recognize and update from the repository correctly.

The video concludes with the author updating their scripts to reflect the correct URL format for Bitbucket repositories and acknowledging the need to research Bitbucket’s pricing for hosting larger repositories. Despite the initial challenges, the author successfully demonstrates how to host an Arch Linux repository on Bitbucket, providing a valuable resource for others looking to do the same.

Phase 3 – create your own mirrolist

I have more than one source – github/gitlab/bitbucket/…

The discussion revolves around a scenario where the prime-repo is simultaneously hosted on Bitbucket, GitLab, and GitHub. The challenge encountered is that Pacman, the Arch Linux package manager, is unable to distinguish among these three databases due to them sharing the identical name, leading to potential issues during package downloads.

The proposed resolution is the introduction of a mirror list. This approach facilitates specifying multiple sources for package retrieval, granting users the autonomy to select a source or allowing for an automatic alternative selection if the primary source is unavailable. The speaker recommends naming the file in accordance with the distribution, opting for “Linux Prime” in this instance, and proceeds to demonstrate the process of crafting and populating a mirror list file with URLs from the three repositories.