Hello, I just mirrored the manjaro repo to my server using rsync. And I want to add / edit some new packages to this mirrror to use in my custom manjaro build. How could I do that? Thanks
You may need to create a new repository for those extra packages.
You must use the user-repo.conf to add your own package database.
You should not alter the official database as this will create problems later on.
Well, how do i create a new database for those packages? And are you reffering to “x.db.gz” files? For example core.db.gz?
Unless you want constant work moving packages over and rebuilding repository databases its best to use the Manjaro repositories, then create your own repository to add custom/changed packages. The changed packages should be named slightly differently and those names used in the Packages-Desktop file used to build the iso.
The repository should be on a server. To create the database files you upload to to the server, open a terminal, navigate to the folder that holds all your packages for the repository, then use the command
repo-add your-repo.db.tar.gz *.pkg.tar.* .
I’m using an ubuntu server, do i need to switch to an arch server?
The linux server OS that is hosting your packages doesnt matter.
Well, it depends what the purpose of that mirror is @omertheroot. You mentioned a custom Manjaro® build. Others mentioned already to do a custom repo which you may want to keep in sync with our stable-branch updates… However there is another approach which might be smarter, if that one mirror should be the only source for your custom build. Then you also may want to disable pacman-mirrors or even don’t ship an application trying to provide the latest and fastest synced mirror to your custom Manjaro® build users.
We at Manjaro® use currently boxit. With this client/server you can configure it to not sync from Arch but from Manjaro®. Your custom packages would be then the overlays we have on our mirrors. Each time you sync from your preferred Manjaro® branch the databases get created automatically. Same goes when you upload a custom package of yours.
You may need:
- Ubuntu 18.04 or 20.04 (or Debian 9 Stretch)
- Boxit-Server compiled and installed on your server
- Boxit-Server configured
- Boxit-Client to upload and manage packages
- your set of custom packages including your personal keyring package
Pro for doing it:
- You can decide which branch(es) you want to use
- When you want to update/sync the packages
- Build your own distro with your own mirror(s)
Con for doing it:
- You may start small and can’t use our large set of Manjaro® mirror networks
- Users have to trust you as you provide all the packages on your Server
- For few packages a single repo might be enough, which can be hosted even on github or gitlab for free
So there are options to do it. Don’t know if a documentation about Boxit will make sense as we lack of that.