BuildISO Error and need Online Repo for AUR Packages

mgame

#22

Always keep in-sync with upstream.


#23

@philm >basic, >extra, and >multilib next to the packages won’t work with BuildISO.

BuildISO can detect these packages from different repositories just fine without >basic, >extra, and >multilib added next to the packages in the list.


#24

You can use github for an online repo.

In your iso-profiles folder add a file user-repos.conf

In that file

[mgame]
Server = https://github.com/mgame/repo/blob/$branch/$repo/$arch

This will be added at build time to your pacman.conf


#25

As per manjaro-tools/iso-profiles/README.md

* buildiso can be configured to use custom repos.
  • create a user-repos.conf

${profile_dir}/user-repos.conf

Add only your repos to user-repos.conf!

So I have done it this way, not an online repo but a local repo:

Server = file:///usr/share/repo

It doesn’t work:

==> ERROR: Using local repositories is not supported!

Why not? All you need do is put those packages in the repo, pacman will find them.
Agreed, a local repo is less than ideal but for one’s own purposes (not something to distributed) this works well.

So unless I’ve somehow done it incorrectly, perhaps the README.md needs clarification that local repos are not allowed.

Tried also adding a local repo to /usr/share/manjaro-tools/pacman-default.conf
It failed in a different way but doesn’t work never the less.


#26

For avoiding unreproducible ISO and out of repository packages

Another user succeded with faking a repository some days ago, see here Building custom iso with AUR


#27

So much for avoiding unreproducible ISO’s! Since it does work in multilib.conf (and probably default.conf too - I likely goofed it up). The only thing gained by strictly forbidding local repos in user-repos.conf is then forcing $USER to sudo either of the afore-mentioned files. No big deal …

An update to README.md would be welcomed.


#28

The README.md has been updated to reflect the fail if the user repo is file based.


For one’s own purpose

For one’s own purpose is the keywords here. You cannot distribute such an iso to a wider audience but you know that already.

There is an approach you can use when you build your own ISO.

Using buildiso -x -p <profile> will build the images but not the ISO.

Then open the build folder as root

/var/lib/manjaro-tools/buildiso/<profile>/x86_64/desktopfs/

and create a folder opt. Copy your repo inside opt/user-repo/ with your repo database and packages.

In the etc folder of your desktopfs, edit the pacman.conf and add your repo pointing to file:///opt/user-repo.

Make sure you add it as the last lines of pacman.conf

When you are done - create the ISO with the buildiso -zc -p <profile> arguments.

Depending on the size of your repo - your ISO will grow in size too.


#29

We of the core team, however, discourage the non-use of external repositories because we do not want to be questioned on the forum because manjaro does not start or because certain programs do not work … If you build an ISO and redistribute you must be responsible for what is inside and this the reason behind the custom online repository


#30

Aha!

Important: Only online repos is allowed in the user-repos.conf. Buildiso will fail on file-based repos.

Thank you sir!

Although I would have said " buildiso will give you the finger if you try it!" :slight_smile:

==> ERROR: Using local repositories is not supported! Piss off!

And, thank you for the bonus ideas on file:///opt/user-repo. also.