Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add possibility of adding apt sources during installation #98

Open
goranche opened this issue Aug 24, 2014 · 17 comments
Open

Add possibility of adding apt sources during installation #98

goranche opened this issue Aug 24, 2014 · 17 comments

Comments

@goranche
Copy link
Contributor

some packages that might be needed during installation (e.g. firmware-ralink from non-free, needed for WiFi setup), but aren't available, because the source isn't listed in /etc/apt/sources.list

I propose a new setting, which by default would be empty, and would enable the installer to create a file (i.e. /etc/apt/sources.list.d/raspbian-ua-inst.list).
this way the installer would have access to packages from that repository as well

at least, I think it would... would be nice 👼

@diederikdehaas
Copy link
Member

With what content?

The main thing to keep in mind here is that cdebootstrap only installs packages from the main component of an archive. This is probably confusing for lots of users, since adding for example 'firmware-ralink' to the packages setting won't work, even if the default sources.list would be expanded.

I haven't completely figured out how I want to go about it, but here's the general idea:

  • Install only essential programs during the cdebootstrap phase (where essential needs to be defined)
  • Allow users to specify their own sources.list (this, and the option to specify your own /etc/network/interfaces file was one of the main reasons for the creation of my config directory)
  • invoke apt-get update like here
  • Then install the various packages

So in this scenario, there will be 2 places where packages get installed.
Another issue I'd like to resolve with this, is issue #42, which requires the rng-tools package to be installed in the first phase and when cdebootstrap-helper-rc.d get removed (on line 543) that service (and maybe others) need to be started and then openssh-server should be installed, so that the SSH keys get generated using the hardware number generator.

All in all, it looks like a significant rewrite is needed to accommodate this and I was therefor thinking it would be more suited to a version 2.x.

So I totally agree with this issue, but it's implementation needs to be thought through carefully.

@goranche
Copy link
Contributor Author

I was just looking at rcS and the cdebootstrap options and noticed that my naive approach would not really work

still something that would be nice, though

@goranche
Copy link
Contributor Author

I commented on the ssh/rng part in #42

@goranche
Copy link
Contributor Author

how about if we remove the installation of additional packages from here, where they are just added to the list of packages to be installed by cdebootstrap, and move the package installation to here

if the additional sources are added to /etc/apt/sources.list.d (here), then an apt-get using chroot would be able to install other packages as well

@goranche
Copy link
Contributor Author

I've implemented this here, but I think an additional config option might be needed for additional apt-keys...
that however is something I'm not very familiar with, so I'll still have to have a look 😄

This was referenced Oct 8, 2014
@diederikdehaas
Copy link
Member

I think that we now have most in place to also solve this issue.
What I'm thinking of is creating a package-lists directory under config/apt/, almost like Debian Live does and I implemented here.
The packages mentioned in those files will be installed after all the repos/keys/preferences have been parsed and APT updated.

But I don't want to move the package installation from the packages config option to the new place, but add an extra/new place for the installation of packages.
That way we won't break current installations, but add the possibility to install a whole lot more packages, from different repos and archive areas.
And people/users can decide for themselves if they want to move packages from the packages config option to the the /config/apt/package-lists/ directory if they want to.

What's your take on this?

@goranche
Copy link
Contributor Author

sounds good...

@goranche
Copy link
Contributor Author

although, I see there are some if constructs in the files you linked to, like this:

#if ARCHIVE_AREAS contrib non-free

were you planning on enabling that as well?

@diederikdehaas
Copy link
Member

Probably not.
But I haven't thought it through all the way.

@goranche
Copy link
Contributor Author

I wouldn't do that, at least not now...
it might be way more trouble that it's worth

@diederikdehaas
Copy link
Member

Exactly my thought 😄

@goranche
Copy link
Contributor Author

👍

@diederikdehaas
Copy link
Member

I have no immediate plans to work on this (wanna focus on package building and setting up an APT repo), so if you have time and want to have a go at this ... be my guest 👍

@goranche
Copy link
Contributor Author

I might in a few days... I have some other things I'd like to do, also, I have to put my workbench back together... but I might 👍

@Mausy5043
Copy link
Contributor

Wondering what @goranche's definition is of "a few days". 😉
Is this still an issue?

Maybe #394 is related?

@goranche
Copy link
Contributor Author

goranche commented Mar 8, 2018

@Mausy5043 or "might" 😉

hoehnp pushed a commit to hoehnp/raspbian-ua-netinst that referenced this issue Jul 14, 2019
@diederikdehaas
Copy link
Member

diederikdehaas commented Dec 21, 2019

I was about to close this issue because AFAICT post-install.txt and custom rcS already provide the functionality needed.
And then I read this (again):

how about if we remove the installation of additional packages from here, where they are just added to the list of packages to be installed by cdebootstrap, and move the package installation to here

if the additional sources are added to /etc/apt/sources.list.d (here), then an apt-get using chroot would be able to install other packages as well

That's very much still a solid advice and an improvement over the current situation.
As much as I'd like to promote Free Software, the current situation for ARM SBC's is still very much that non-free software/firmware is needed and currently non-free software can't be installed (without custom rcS and/or post-install.txt).

I also doubt that my previous concern with breaking current installations is much of an issue, if at all. And if it does, that's a one-time thing. And probably not a bad thing.
I think my previous idea of 'copying' the idea/structures of Debian Live is not worth it. Way too complex, for dubious gains and it (likely) can and should be done with standard Debian tools (*.list/*.pref)

If that would be done, is there any reason left not to close this issue?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants