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

Make installation of software-properties optional #402

Closed
wants to merge 1 commit into from

Conversation

bodepd
Copy link

@bodepd bodepd commented Jan 4, 2015

To simplify configuration of package installs on
Ubuntu, I frequently do the following:

Apt::Source<||> -> Package<||>

To ensure that apt source configuration occurrs before
package installation. Having the ppas install software
properties breaks this pattern because it means that
the apt-get update must be run both before and after
software properties resulting in a dependency cycle.

For my purposes, the value of being able to stage
apt operations before packages is significannt enough
that I just ensure that software properties in installed
as a part of my base image.

According to the following issue, this looks like it has
been resolved as of 14.04 (that this library is installed
by default)

https://bugs.launchpad.net/ubuntu/+source/ubuntu-meta/+bug/439566

@daenney
Copy link

daenney commented Jan 4, 2015

Hmm, I can see this working and is a nicer solution to the ugly hacks we've had proposed before. Can we confirm that on 14.04 we get python-software-properties or whatever the heck that package is called now by default and flip the default accordingly through params.pp?

People should still be able to override it so when they provide it in their 'base' image on a 12.10 machine we don't get upset about it but it would make the whole thing more sane by default and confuse new users even less.

@bodepd
Copy link
Author

bodepd commented Jan 4, 2015

@sorenh can you help point me to something that confirms that is software-properties-common is installed as a part of 14.04?

@bodepd bodepd force-pushed the software_props_optional branch from 2819dbb to cec7f4a Compare January 4, 2015 19:45
@sorenisanerd
Copy link

I'm not quite sure what kind of evidence you need.

$ dpkg -S `which add-apt-repository`
software-properties-common: /usr/bin/add-apt-repository
$ apt-cache show software-properties-common | grep ^Task:
Task: ubuntu-desktop, ubuntu-usb, cloud-image, server, kubuntu-desktop, kubuntu-full, kubuntu-active, kubuntu-active-desktop, kubuntu-active-full, kubuntu-active, edubuntu-desktop, edubuntu-usb, xubuntu-desktop, mythbuntu-frontend, mythbuntu-desktop, mythbuntu-backend-slave, mythbuntu-backend-master, mythbuntu-backend-master, lubuntu-desktop, ubuntustudio-desktop, ubuntu-gnome-desktop

Those tasks are used when installing various types of systems. *-desktop, cloud-image and server cover pretty much every real use case.

Nevertheless, removing software-properties-common is perfectly possible, so there's no guarantee it's available. It'd be quite unusual, though.

To simplify configuration of package installs on
Ubuntu, I frequently do the following:

    Apt::Source<||> -> Package<||>

To ensure that apt source configuration occurrs before
package installation. Having the ppas install software
properties breaks this pattern because it means that
the apt-get update must be run both before and after
software properties resulting in a dependency cycle.

For my purposes, the value of being able to stage
apt operations before packages is significannt enough
that I just ensure that software properties in installed
as a part of my base image.

According to the following issue, this looks like it has
been resolved as of 14.04 (that this library is installed
by default)

  https://bugs.launchpad.net/ubuntu/+source/ubuntu-meta/+bug/439566
@bodepd bodepd force-pushed the software_props_optional branch from cec7f4a to 7bed868 Compare January 4, 2015 23:18
@bodepd
Copy link
Author

bodepd commented Jan 4, 2015

thanks @sorenh, that is exactly the level of detail I was looking for.

@WolverineFan
Copy link

For what it's worth, on LinuxMint 17.1 (which is derived from Ubuntu 14.04 Trusty):

# dpkg-query --search /usr/bin/add-apt-repository
mintsources: /usr/bin/add-apt-repository
# dpkg-query --list software-properties-common
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                                    Version                  Architecture             Description
+++-=======================================-========================-========================-===================================================================================
un  software-properties-common              <none>                   <none>                   (no description available)

And their hacked version of add-apt-repository sucks by the way. I lobbied against removing the software-properties-common package but lost.

@underscorgan
Copy link

@bodepd thanks for the contribution! Can you update the README with information on the new parameter?

@underscorgan
Copy link

@bodepd thanks for the contribution! We ended up implementing that for our work in apt/next so I pulled in the work we had done there in #462.

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

Successfully merging this pull request may close these issues.

5 participants