Bug Description: With 1.4.0 fast coming, we need to split the legacy perl out to a subpackage, and coerce our tests to python installer by default.
Fix Description: Add a legacy tools subpackage
https://pagure.io/389-ds-base/issue/49571
Author: wibrown
We should add Obsoletes: and Conflicts: here to have a correct upgrade path. Also there should be a space before =
cl-dump and repl-monitor are shell wrappers around perl scripts, they should go to legacy-tools too.
We should add the contents of script-templates and updates here, otherwise rpm will detect that they require perl(DSUtil) and this will cause circular dependency.
%{_datadir}/%{pkgname}/script-templates %{_datadir}/%{pkgname}/updates
and in main package section we should exclude them:
%exclude %{_datadir}/%{pkgname}/script-templates %exclude %{_datadir}/%{pkgname}/updates
And I think we need to add compat subpackage: https://fedoraproject.org/wiki/Upgrade_paths_%E2%80%94_renaming_or_splitting_packages#.28n:m.29_Many_to_many_replacement
Right now with the changes to this PR I'm able to upgrade from an older version, but legacy-tools is not picked up:
Dependencies resolved. =============================================================================================================================================================== Package Arch Version Repository Size =============================================================================================================================================================== Upgrading: 389-ds-base x86_64 1.4.0.9-20180606git0cb9783ed.fc28 @commandline 1.8 M 389-ds-base-devel x86_64 1.4.0.9-20180606git0cb9783ed.fc28 @commandline 205 k replacing svrcore-devel.x86_64 4.1.3-4.fc28 389-ds-base-libs x86_64 1.4.0.9-20180606git0cb9783ed.fc28 @commandline 770 k replacing svrcore.x86_64 4.1.3-4.fc28 389-ds-base-snmp x86_64 1.4.0.9-20180606git0cb9783ed.fc28 @commandline 96 k krb5-devel x86_64 1.16.1-3.fc28 updates 543 k krb5-libs x86_64 1.16.1-3.fc28 updates 840 k libkadm5 x86_64 1.16.1-3.fc28 updates 181 k Installing dependencies: iproute x86_64 4.16.0-1.fc28 updates-testing 558 k krb5-workstation x86_64 1.16.1-3.fc28 updates 923 k libmnl x86_64 1.0.4-6.fc28 fedora 29 k libss x86_64 1.43.8-2.fc28 fedora 51 k linux-atm-libs x86_64 2.5.1-20.fc28 fedora 41 k python2-IPy noarch 0.81-21.fc28 fedora 42 k python2-audit x86_64 2.8.3-3.fc28 updates-testing 83 k python2-enum34 noarch 1.1.6-4.fc28 fedora 57 k python2-libselinux x86_64 2.7-13.fc28 updates-testing 253 k python2-libsemanage x86_64 2.7-12.fc28 updates-testing 121 k python2-policycoreutils noarch 2.7-18.fc28 updates-testing 419 k python2-setools x86_64 4.1.1-6.fc28 fedora 583 k python3-attrs noarch 17.4.0-2.fc28 fedora 51 k python3-dateutil noarch 1:2.6.1-3.fc28 fedora 250 k python3-lib389 noarch 1.4.0.9-20180606git0cb9783ed.fc28 @commandline 590 k python3-pluggy noarch 0.6.0-2.fc28 fedora 31 k python3-py noarch 1.5.3-1.fc28 updates-testing 471 k python3-pytest noarch 3.4.2-2.fc28 updates-testing 1.3 M Installing weak dependencies: iproute-tc x86_64 4.16.0-1.fc28 updates-testing 397 k Transaction Summary =============================================================================================================================================================== Install 19 Packages Upgrade 7 Packages Total size: 11 M Total download size: 7.1 M Is this ok [y/N]:
Actually, we can make it work without compat:
============================================================================================================================================================================================== Package Arch Version Repository Size ============================================================================================================================================================================================== Upgrading: 389-ds-base x86_64 1.4.0.9-20180606git0cb9783ed.fc28 @commandline 1.8 M 389-ds-base-devel x86_64 1.4.0.9-20180606git0cb9783ed.fc28 @commandline 205 k replacing svrcore-devel.x86_64 4.1.3-4.fc28 389-ds-base-libs x86_64 1.4.0.9-20180606git0cb9783ed.fc28 @commandline 770 k replacing svrcore.x86_64 4.1.3-4.fc28 389-ds-base-snmp x86_64 1.4.0.9-20180606git0cb9783ed.fc28 @commandline 96 k krb5-devel x86_64 1.16.1-3.fc28 updates 543 k krb5-libs x86_64 1.16.1-3.fc28 updates 840 k libkadm5 x86_64 1.16.1-3.fc28 updates 181 k Installing dependencies: 389-ds-base-legacy-tools x86_64 1.4.0.9-20180606git0cb9783ed.fc28 @commandline 299 k replacing 389-ds-base.x86_64 1.4.0.6-2.fc28 iproute x86_64 4.16.0-1.fc28 updates-testing 558 k krb5-workstation x86_64 1.16.1-3.fc28 updates 923 k libmnl x86_64 1.0.4-6.fc28 fedora 29 k libss x86_64 1.43.8-2.fc28 fedora 51 k linux-atm-libs x86_64 2.5.1-20.fc28 fedora 41 k python2-IPy noarch 0.81-21.fc28 fedora 42 k python2-audit x86_64 2.8.3-3.fc28 updates-testing 83 k python2-enum34 noarch 1.1.6-4.fc28 fedora 57 k python2-libselinux x86_64 2.7-13.fc28 updates-testing 253 k python2-libsemanage x86_64 2.7-12.fc28 updates-testing 121 k python2-policycoreutils noarch 2.7-18.fc28 updates-testing 419 k python2-setools x86_64 4.1.1-6.fc28 fedora 583 k python3-attrs noarch 17.4.0-2.fc28 fedora 51 k python3-dateutil noarch 1:2.6.1-3.fc28 fedora 250 k python3-lib389 noarch 1.4.0.9-20180606git0cb9783ed.fc28 @commandline 590 k python3-pluggy noarch 0.6.0-2.fc28 fedora 31 k python3-py noarch 1.5.3-1.fc28 updates-testing 471 k python3-pytest noarch 3.4.2-2.fc28 updates-testing 1.3 M Installing weak dependencies: iproute-tc x86_64 4.16.0-1.fc28 updates-testing 397 k Transaction Summary ============================================================================================================================================================================================== Install 20 Packages Upgrade 7 Packages Total size: 11 M Total download size: 7.1 M Is this ok [y/N]:
I had to bump version to upgrade the latest fedora package:
============================================================================================================================================================================================== Package Arch Version Repository Size ============================================================================================================================================================================================== Upgrading: 389-ds-base x86_64 1.4.0.10-20180606git0cb9783ed.fc28 @commandline 1.8 M 389-ds-base-devel x86_64 1.4.0.10-20180606git0cb9783ed.fc28 @commandline 205 k 389-ds-base-libs x86_64 1.4.0.10-20180606git0cb9783ed.fc28 @commandline 770 k 389-ds-base-snmp x86_64 1.4.0.10-20180606git0cb9783ed.fc28 @commandline 96 k krb5-devel x86_64 1.16.1-3.fc28 updates 543 k krb5-libs x86_64 1.16.1-3.fc28 updates 840 k libkadm5 x86_64 1.16.1-3.fc28 updates 181 k Installing dependencies: 389-ds-base-legacy-tools x86_64 1.4.0.10-20180606git0cb9783ed.fc28 @commandline 299 k replacing 389-ds-base.x86_64 1.4.0.9-2.fc28 iproute x86_64 4.16.0-1.fc28 updates-testing 558 k krb5-workstation x86_64 1.16.1-3.fc28 updates 923 k libmnl x86_64 1.0.4-6.fc28 fedora 29 k libss x86_64 1.43.8-2.fc28 fedora 51 k linux-atm-libs x86_64 2.5.1-20.fc28 fedora 41 k python2-IPy noarch 0.81-21.fc28 fedora 42 k python2-audit x86_64 2.8.3-3.fc28 updates-testing 83 k python2-enum34 noarch 1.1.6-4.fc28 fedora 57 k python2-libselinux x86_64 2.7-13.fc28 updates-testing 253 k python2-libsemanage x86_64 2.7-12.fc28 updates-testing 121 k python2-policycoreutils noarch 2.7-18.fc28 updates-testing 419 k python2-setools x86_64 4.1.1-6.fc28 fedora 583 k python3-attrs noarch 17.4.0-2.fc28 fedora 51 k python3-dateutil noarch 1:2.6.1-3.fc28 fedora 250 k python3-lib389 noarch 1.4.0.10-20180606git0cb9783ed.fc28 @commandline 590 k python3-pluggy noarch 0.6.0-2.fc28 fedora 31 k python3-py noarch 1.5.3-1.fc28 updates-testing 471 k python3-pytest noarch 3.4.2-2.fc28 updates-testing 1.3 M Installing weak dependencies: iproute-tc x86_64 4.16.0-1.fc28 updates-testing 397 k Transaction Summary ============================================================================================================================================================================================== Install 20 Packages Upgrade 7 Packages Total size: 11 M Total download size: 7.1 M Is this ok [y/N]:
And on a new install it doesn't pull legacy-tools and snmp subpackages:
============================================================================================================================================================== Package Arch Version Repository Size ============================================================================================================================================================== Installing: 389-ds-base x86_64 1.4.0.10-20180606git0cb9783ed.fc28 new_ds 1.8 M Upgrading: 389-ds-base-devel x86_64 1.4.0.10-20180606git0cb9783ed.fc28 new_ds 205 k 389-ds-base-libs x86_64 1.4.0.10-20180606git0cb9783ed.fc28 new_ds 770 k krb5-devel x86_64 1.16.1-3.fc28 updates 543 k krb5-libs x86_64 1.16.1-3.fc28 updates 840 k libkadm5 x86_64 1.16.1-3.fc28 updates 181 k Installing dependencies: checkpolicy x86_64 2.8-1.fc28 updates 336 k cyrus-sasl-gssapi x86_64 2.1.27-0.2rc7.fc28 updates 46 k cyrus-sasl-md5 x86_64 2.1.27-0.2rc7.fc28 updates 61 k cyrus-sasl-plain x86_64 2.1.27-0.2rc7.fc28 updates 43 k iproute x86_64 4.16.0-1.fc28 updates-testing 558 k krb5-workstation x86_64 1.16.1-3.fc28 updates 923 k libcgroup x86_64 0.41-17.fc28 updates 68 k libmnl x86_64 1.0.4-6.fc28 fedora 29 k libselinux-utils x86_64 2.7-13.fc28 updates-testing 165 k libss x86_64 1.43.8-2.fc28 fedora 51 k linux-atm-libs x86_64 2.5.1-20.fc28 fedora 41 k openldap-clients x86_64 2.4.46-1.fc28 updates-testing 200 k openssl-perl x86_64 1:1.1.0h-3.fc28 updates-testing 73 k perl-Algorithm-Diff noarch 1.1903-9.fc28 fedora 51 k perl-Archive-Tar noarch 2.26-6.fc28 updates-testing 78 k perl-Compress-Raw-Bzip2 x86_64 2.081-1.fc28 updates-testing 39 k perl-Compress-Raw-Zlib x86_64 2.081-1.fc28 updates-testing 67 k perl-DB_File x86_64 1.841-1.fc28 updates-testing 81 k perl-IO-Compress noarch 2.081-1.fc28 updates-testing 257 k perl-IO-Zlib noarch 1:1.10-412.fc28 updates-testing 78 k perl-Text-Diff noarch 1.45-2.fc28 fedora 44 k policycoreutils x86_64 2.7-18.fc28 updates-testing 732 k python2-IPy noarch 0.81-21.fc28 fedora 42 k python2-audit x86_64 2.8.3-3.fc28 updates-testing 83 k python2-enum34 noarch 1.1.6-4.fc28 fedora 57 k python2-libselinux x86_64 2.7-13.fc28 updates-testing 253 k python2-libsemanage x86_64 2.7-12.fc28 updates-testing 121 k python2-policycoreutils noarch 2.7-18.fc28 updates-testing 419 k python2-setools x86_64 4.1.1-6.fc28 fedora 583 k python3-attrs noarch 17.4.0-2.fc28 fedora 51 k python3-dateutil noarch 1:2.6.1-3.fc28 fedora 250 k python3-ldap x86_64 3.1.0-1.fc28 updates 223 k python3-lib389 noarch 1.4.0.10-20180606git0cb9783ed.fc28 new_ds 590 k python3-pluggy noarch 0.6.0-2.fc28 fedora 31 k python3-py noarch 1.5.3-1.fc28 updates-testing 471 k python3-pyasn1 noarch 0.3.7-2.fc28 fedora 125 k python3-pyasn1-modules noarch 0.3.7-2.fc28 fedora 108 k python3-pytest noarch 3.4.2-2.fc28 updates-testing 1.3 M Installing weak dependencies: iproute-tc x86_64 4.16.0-1.fc28 updates-testing 397 k Transaction Summary ============================================================================================================================================================== Install 40 Packages Upgrade 5 Packages Total size: 13 M Total download size: 9.9 M Is this ok [y/N]:
rebased onto 5d8c588821ba3ad02b883759976ef3895dcf66d2
I rebased your work in this PR (fyi)...
Great, thanks! I'm running more tests, found few things.
During upgrade I see the following output:
Running scriptlet: 389-ds-base-legacy-tools-1.4.0.10-20180606git0cb9783ed.fc28.x86_64 3/7 /var/tmp/rpm-tmp.NbrVGn: line 4: $output: ambiguous redirect
We define output only in scriptlet for 389-ds-base, but not in legacy-tools package.
output
And resource files should be in legacy-tools package, since they are used by the corresponding perl scripts.
/usr/share/dirsrv/properties/migrate-ds.res /usr/share/dirsrv/properties/setup-ds.res
And we need to bump version, so that Obsoletes mechanism works on top of Fedora builds.
Well we can't (shouldn't) bump version in VERSION.sh until we actually do an upstream release. It messes up the commit log order and tags, etc. I plan to do a build once this PR is merged - then I will bump it to 1.4.0.10 at the same time.
Ah, I see. Thank you for the explanation.
rebased onto c7f24196cc5436c9d83de9f32124e5dd6bd5a9b1
rebased onto e9ec946f048fcf47c283b0e92074c05cc0e4ebdd
rebased onto 9186bcec620233feb49716c92d463646afeb027d
Pull-Request has been merged by mreynolds
389-ds-base is moving from Pagure to Github. This means that new issues and pull requests will be accepted only in 389-ds-base's github repository.
This pull request has been cloned to Github as issue and is available here: - https://github.com/389ds/389-ds-base/issues/2815
If you want to continue to work on the PR, please navigate to the github issue, download the patch from the attachments and file a new pull request.
Thank you for understanding. We apologize for all inconvenience.
Pull-Request has been closed by spichugi
Bug Description: With 1.4.0 fast coming, we need to split
the legacy perl out to a subpackage, and coerce our tests to
python installer by default.
Fix Description: Add a legacy tools subpackage
https://pagure.io/389-ds-base/issue/49571
Author: wibrown