Bug 1154154 - Can't build "generic" branded ISO file - dependency conflict in yum
Summary: Can't build "generic" branded ISO file - dependency conflict in yum
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: generic-release
Version: 21
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Tom "spot" Callaway
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-10-17 16:49 UTC by M. Edward (Ed) Borasky
Modified: 2014-11-10 06:01 UTC (History)
3 users (show)

Fixed In Version: generic-release-21-7
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-11-10 06:01:40 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Kickstart file for failed build (2.85 KB, text/plain)
2014-10-17 16:49 UTC, M. Edward (Ed) Borasky
no flags Details

Description M. Edward (Ed) Borasky 2014-10-17 16:49:48 UTC
Created attachment 947983 [details]
Kickstart file for failed build

I have a script that builds a Fedora Remix. As part of the process (see attached kickstart file) I remove

fedora-logos
fedora-logos-httpd
fedora-release
fedora-release-notes

and replace them with

generic-logos
generic-logos-httpd
generic-release
generic-release-notes


This was working a few weeks ago when I started running Fedora 21 but I tried it again last night and now there's a dependency conflict:

$ sudo ./1SudoMakeISOImage.bash 
Fedora installed release version is 21
/data/Projects /data/Projects/CompJournoStick/2MakeLiveISOImage
/data/Projects/CompJournoStick/2MakeLiveISOImage
/opt/CompJournoStick /data/Projects/CompJournoStick/2MakeLiveISOImage
/usr/lib/python2.7/site-packages/pykickstart/commands/partition.py:309: UserWarning: A partition with the mountpoint / has already been defined.
  warnings.warn(_("A partition with the mountpoint %s has already been defined.") % pd.mountpoint)
/sbin/setfiles:  /data/Projects/CompJournoStick/2MakeLiveISOImage/tmpdir/imgcreate-lRj30d/install_root is not located in /etc/selinux/targeted/contexts/files/file_contexts
Error creating Live CD : Failed to build transaction : generic-release conflicts with fedora-release-21-0.14.noarch
['/sbin/mkfs.ext4', '-F', '-L', '_CompJournoStick21-x86_64', '-m', '1', '-b', '4096', '/dev/loop0']
27.27user 2.97system 0:33.81elapsed 89%CPU (0avgtext+0avgdata 267904maxresident)k
250inputs+272736outputs (7major+141196minor)pagefaults 0swaps


I think I know what's happening - there's a new Fedora branding package - fedora-release-workstation - and that's pulling in fedora-release:

$ rpm -q --whatrequires fedora-release
fedora-release-workstation-21-0.14.noarch

So I think there needs to be a 'generic-release-workstation' with the right dependencies

Version-Release number of selected component (if applicable): 21-5

Comment 1 Bruno Wolff III 2014-10-17 17:26:43 UTC
Have you tried removing fedora-release-workstation. It probably doesn't make sence to have a remix use that, as the remix wouldn't be a workstation install.

Comment 2 M. Edward (Ed) Borasky 2014-10-17 17:42:41 UTC
(In reply to Bruno Wolff III from comment #1)
> Have you tried removing fedora-release-workstation. It probably doesn't make
> sence to have a remix use that, as the remix wouldn't be a workstation
> install.

It still has a conflict:

Error creating Live CD : Failed to build transaction : generic-release conflicts with fedora-release-21-0.14.noarch

It turns out that something else requires fedora-release-workstation indirectly:

$ sudo yum erase fedora-release-workstation
Loaded plugins: fastestmirror, langpacks
Resolving Dependencies
--> Running transaction check
---> Package fedora-release-workstation.noarch 0:21-0.14 will be erased
--> Processing Dependency: system-release-workstation for package: firewalld-config-workstation-0.3.11-3.fc21.noarch
--> Running transaction check
---> Package firewalld-config-workstation.noarch 0:0.3.11-3.fc21 will be erased
--> Processing Dependency: firewalld-config for package: firewalld-0.3.11-3.fc21.noarch
--> Running transaction check
---> Package firewalld.noarch 0:0.3.11-3.fc21 will be erased
--> Processing Dependency: firewalld >= 0.3.5-1 for package: anaconda-core-21.48.9-1.fc21.x86_64
--> Running transaction check
---> Package anaconda-core.x86_64 0:21.48.9-1.fc21 will be erased
--> Processing Dependency: anaconda-core = 21.48.9-1.fc21 for package: anaconda-gui-21.48.9-1.fc21.x86_64
--> Processing Dependency: anaconda-core = 21.48.9-1.fc21 for package: anaconda-21.48.9-1.fc21.x86_64
--> Processing Dependency: anaconda-core = 21.48.9-1.fc21 for package: anaconda-tui-21.48.9-1.fc21.x86_64
--> Running transaction check
---> Package anaconda.x86_64 0:21.48.9-1.fc21 will be erased
---> Package anaconda-gui.x86_64 0:21.48.9-1.fc21 will be erased
---> Package anaconda-tui.x86_64 0:21.48.9-1.fc21 will be erased
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package               Arch   Version        Repository                    Size
================================================================================
Removing:
 fedora-release-workstation
                       noarch 21-0.14        @fedora                      1.0 k
Removing for dependencies:
 anaconda              x86_64 21.48.9-1.fc21 installed                     18 k
 anaconda-core         x86_64 21.48.9-1.fc21 installed                    7.5 M
 anaconda-gui          x86_64 21.48.9-1.fc21 installed                    1.2 M
 anaconda-tui          x86_64 21.48.9-1.fc21 installed                    372 k
 firewalld             noarch 0.3.11-3.fc21  @koji-override-0/$releasever 2.2 M
 firewalld-config-workstation
                       noarch 0.3.11-3.fc21  @koji-override-0/$releasever 1.0 k

Transaction Summary
================================================================================
Remove  1 Package (+6 Dependent packages)

Installed size: 11 M
Is this ok [y/N]: N

Comment 3 Bruno Wolff III 2014-10-17 18:06:43 UTC
If the package is removed in the kickstart file (using a - prefix) there can't be a conflict only a failure to find it. Did you try to remove it this way? (There could still be a problem if something critical to you requires it, but that seems unlikely.)

Comment 4 M. Edward (Ed) Borasky 2014-10-17 18:54:55 UTC
(In reply to Bruno Wolff III from comment #3)
> If the package is removed in the kickstart file (using a - prefix) there
> can't be a conflict only a failure to find it. Did you try to remove it this
> way? (There could still be a problem if something critical to you requires
> it, but that seems unlikely.)

Yes, I removed it with the kickstart file '-' option. And yes, anaconda, anaconda-core, anaconda-gui, anaconda-tui, firewalld, and firewalld-config-workstation are critical to me. The goal here is a debranded remix of Fedora Workstation with some software added, specifically the packages added in the kickstart file from Fedora, RStudio and some R packages that are installed over the network onto the ISO.

Comment 5 Bruno Wolff III 2014-10-17 19:43:56 UTC
There is something odd here. I can install anaconda on fedora 21 without pulling in fedora-release-workstation. firewalld-config-workstation does require system-release-workstation. Using firewalld-config-standard allows for having anaconda and firewalld installed without fedora-release-workstation.

I am not sure why excluding fedora-release-workstation didn't cause things to fail a bit differently. I thought that excludes kept the package from being brought in at all, so the failure should have been a missing dependency.

Adding a provides for system-release-workstation was probably thought about, since it was given that name. But it would need to be tested to make sure it doesn't break workstation builds and there might need to be more than just the provides in a generic-workstation-release package.

The other odd thing is why is firewalld-config-workstation requiring system-workstation-release. That seems like an odd dependency to have and might just be a hack to get fedora-workstation-release pulled in.

Comment 6 Bruno Wolff III 2014-10-17 20:23:05 UTC
I got some feedback from the workstation group that it was intended to allow for creation of a generic-release-workstation. It might be possible to get it in between beta and final depending on what work needs to be done to make a workable generic version.

Comment 7 M. Edward (Ed) Borasky 2014-10-17 21:41:01 UTC
(In reply to Bruno Wolff III from comment #6)
> I got some feedback from the workstation group that it was intended to allow
> for creation of a generic-release-workstation. It might be possible to get
> it in between beta and final depending on what work needs to be done to make
> a workable generic version.

Is there a workaround I can use to build a generic ISO? I was planning to release a beta of the ISO a day or so after Fedora 21 goes beta. If I have to, I can modify source RPMs on my workstation and install non-standard binaries - it is a remix, after all.

Comment 8 Bruno Wolff III 2014-10-17 22:03:54 UTC
You could make a package that provides system-release-workstation and explicitly include it. That could cause some breakage, depending on what fedora-release-workstation and its dependencies actually have in them.

Comment 9 M. Edward (Ed) Borasky 2014-10-21 04:32:10 UTC
(In reply to Bruno Wolff III from comment #8)
> You could make a package that provides system-release-workstation and
> explicitly include it. That could cause some breakage, depending on what
> fedora-release-workstation and its dependencies actually have in them.

I've spent a day looking at the specfiles in the source RPMs for generic-release and fedora-release; generic-release doesn't "Provide" a lot of things it needs to provide for a generic build to happen. It's more than "system-release-workstation'. 

My workaround going into beta will have to be violating the remix branding guidelines and shipping a mix of fedora and generic branding packages. With luck this will get sorted out before release, or someone will talk me through what individual pieces of fedora-release *are* branded and must be replaced.

Comment 10 Tom "spot" Callaway 2014-10-21 19:28:57 UTC
Sorry, I was traveling, then in the hospital, then recovering.

generic-release is building an update now for f21 and rawhide that will add generic-release-$PRODUCT subpackage variants. Should fix what you need.

Comment 11 Fedora Update System 2014-10-21 19:34:34 UTC
generic-release-21-6 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/generic-release-21-6

Comment 12 M. Edward (Ed) Borasky 2014-10-21 19:40:25 UTC
(In reply to Tom "spot" Callaway from comment #10)
> Sorry, I was traveling, then in the hospital, then recovering.
> 
> generic-release is building an update now for f21 and rawhide that will add
> generic-release-$PRODUCT subpackage variants. Should fix what you need.

Thanks! I'll test it as soon as it hits the repositories!

Comment 13 Fedora Update System 2014-10-22 19:14:01 UTC
Package generic-release-21-7:
* should fix your issue,
* was pushed to the Fedora 21 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing generic-release-21-7'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2014-13475/generic-release-21-7
then log in and leave karma (feedback).

Comment 14 M. Edward (Ed) Borasky 2014-10-22 22:49:44 UTC
(In reply to Fedora Update System from comment #13)
> Package generic-release-21-7:
> * should fix your issue,
> * was pushed to the Fedora 21 testing repository,
> * should be available at your local mirror within two days.
> Update it with:
> # su -c 'yum update --enablerepo=updates-testing generic-release-21-7'
> as soon as you are able to.
> Please go to the following url:
> https://admin.fedoraproject.org/updates/FEDORA-2014-13475/generic-release-21-
> 7
> then log in and leave karma (feedback).

I had to do some hunting to find a mirror that had the binaries but the ISO build is in progress now! It takes about an hour to build the whole ISO so I won't know till later what the remix looks like, but it's past the point where it was croaking.

Comment 15 M. Edward (Ed) Borasky 2014-10-23 00:25:57 UTC
ISO build and install to VM was successful.

Comment 16 Fedora Update System 2014-11-10 06:01:40 UTC
generic-release-21-7 has been pushed to the Fedora 21 stable repository.  If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.