Hide Forgot
Description of problem: Synchronizing repository http://download.bareos.org/bareos/release/15.2/RHEL_6/ holding both: packages for x86_64 and i686 architectures synchronization will fail with messages: # spacewalk-repo-sync -c bareos152 ====================================== | Channel: bareos152 ====================================== Repo URL: http://download.bareos.org/bareos/release/15.2/RHEL_6/ Packages in repo: 56 Packages passed filter rules: 39 Packages already synced: 0 Packages to sync: 39 1/39 : bareos-bat-15.2.2-37.1.el6-0.i686 2/39 : bareos-bconsole-15.2.2-37.1.el6-0.i686 3/39 : bareos-15.2.2-37.1.el6-0.i686 4/39 : bareos-director-15.2.2-37.1.el6-0.x86_64 5/39 : libfastlz-0.1-7.1.el6-0.x86_64 6/39 : bareos-director-15.2.2-37.1.el6-0.i686 7/39 : bareos-database-sqlite3-15.2.2-37.1.el6-0.x86_64 8/39 : bareos-filedaemon-python-plugin-15.2.2-37.1.el6-0.i686 9/39 : bareos-storage-fifo-15.2.2-37.1.el6-0.i686 10/39 : bareos-database-postgresql-15.2.2-37.1.el6-0.i686 11/39 : bareos-storage-python-plugin-15.2.2-37.1.el6-0.i686 12/39 : bareos-database-common-15.2.2-37.1.el6-0.x86_64 13/39 : libfastlz-devel-0.1-7.1.el6-0.i686 14/39 : libfastlz-debuginfo-0.1-7.1.el6-0.i686 15/39 : bareos-database-common-15.2.2-37.1.el6-0.i686 16/39 : bareos-tools-15.2.2-37.1.el6-0.i686 17/39 : bareos-bconsole-15.2.2-37.1.el6-0.x86_64 18/39 : bareos-filedaemon-python-plugin-15.2.2-37.1.el6-0.x86_64 19/39 : bareos-database-sqlite3-15.2.2-37.1.el6-0.i686 20/39 : bareos-database-tools-15.2.2-37.1.el6-0.x86_64 21/39 : bareos-debuginfo-15.2.2-37.1.el6-0.i686 22/39 : bareos-common-15.2.2-37.1.el6-0.x86_64 23/39 : bareos-filedaemon-15.2.2-37.1.el6-0.i686 24/39 : bareos-database-mysql-15.2.2-37.1.el6-0.i686 25/39 : bareos-devel-15.2.2-37.1.el6-0.i686 26/39 : bareos-common-15.2.2-37.1.el6-0.i686 27/39 : bareos-filedaemon-ldap-python-plugin-15.2.2-37.1.el6-0.i686 28/39 : bareos-client-15.2.2-37.1.el6-0.x86_64 29/39 : bareos-filedaemon-15.2.2-37.1.el6-0.x86_64 30/39 : bareos-storage-tape-15.2.2-37.1.el6-0.i686 31/39 : bareos-database-tools-15.2.2-37.1.el6-0.i686 32/39 : bareos-storage-15.2.2-37.1.el6-0.i686 33/39 : bareos-database-postgresql-15.2.2-37.1.el6-0.x86_64 34/39 : bareos-traymonitor-15.2.2-37.1.el6-0.i686 35/39 : bareos-storage-15.2.2-37.1.el6-0.x86_64 36/39 : bareos-database-mysql-15.2.2-37.1.el6-0.x86_64 37/39 : bareos-director-python-plugin-15.2.2-37.1.el6-0.i686 38/39 : bareos-client-15.2.2-37.1.el6-0.i686 39/39 : libfastlz-0.1-7.1.el6-0.i686 Linking packages to channel. ERROR: Package arch x86_64 incompatible with channel bareos152 Sync completed. Total time: 0:00:01 Version-Release number of selected component (if applicable): How reproducible: Always. Steps to Reproduce: 1. create repository: Repository-Label*: External - bareos Repository-URL*: http://download.bareos.org/bareos/release/15.2/RHEL_6/ SSL CA-Zertifikat: SSL-Client-Zertifikat: SSL-Client-Schlüssel: Filter: 2. create channel: Channel-Name*: Bareos 15.2 (i386) Channel-Label*: bareos152 Parent-Channel: OL6-Client-Development (i386) Architektur: IA-32 Yum-Repository Prüfsummentyp: sha-1 3. call on CLI: spacewalk-repo-sync -c bareos152 Actual results: Synchronisation fails, regardless of giving filter "+*i686" or not. Expected results: Synchronize only packets for given architecture: IA-32 Additional info:
yum does not have any problem with such a repository. It selects what package is OK and takes *x86_64 for IA-64 and *i686 for IA-32 architectures.
This is quite more complicated: Filter: '-*x86_64' makes it work. But: '-*x86_64 +*i686' leads to fail. Looks like it is really looking after files '<anything>x86_64<anything>i686' in this case and tries to exclude them. Parse error while looking at filter string, not breaking it up on spaces?
> 2. create channel: > Channel-Name*: Bareos 15.2 (i386) > Channel-Label*: bareos152 > Parent-Channel: OL6-Client-Development (i386) > Architektur: IA-32 i386 channel can't contain x86_64 packages but the other way round is possible (x86_64 channel can contain i686/i386 packages).