Re: [Rpm-ecosystem] RPM in ALT Linux (4.0.4 vs 4.13)

2016-09-04 Thread Ivan Zakharyaschev


On Sun, 4 Sep 2016, Neal Gompa wrote:


The first thing to do on this way was to rebase many ALT's features[1]
onto
rpm(-install)-4.13. (Not yet features relevant for rpm-build.)
[1] https://www.altlinux.org/Rpm-4.13



I looked through the wiki page and also the git repository on ALT
Linux's gear for rpm-4.13[1], and there were some commits of concern:

* git hash: 08677107ea8efb30099b05c0c9876e0cfdbd9799: Add support of
ALT Linux traditional posttrans filetriggers
 - This commit is interesting because it's completely redundant. My
understanding is that the legacy file triggers implementation in ALT
Linux is derived from the original one developed by Mandriva. In


I don't know enough about the history of it to tell this for sure.


Mageia, we've ported all of the Mandriva style file triggers over to
the system that's part of rpm 4.13, and we'd be happy to share with
you guys the newer versions of these and help you guys get up to speed
there.


One issue is that the new rpm should be able to work with the old 
packages, published in the old distro branches, at least in order to 
enable an upgrade.


Another one is that the rpm maintainer (like Gleb) can't rewrite the 
filetriggers in all the packages at once; rather he can provide the tool 
which implements the old and new features and wait for the maintainers of 
the packages who own the triggers to catch up; and ultimately, the old 
feature can be removed.


I might be misunderstanding something about the mechanism.


* git hash: 61a1aaa2c0795f8bd564bdbef2b45cc4f44902ac: Write to syslog
about installed/removed packages
- Why exactly is this necessary? This isn't a huge deal, but wouldn't
apt handle this already? This also feels like it should be written as


Some users invoke the bare rpm command.


an rpm plugin rather than be a mandatory part of rpm. Other resolvers
(like Yum/DNF and Zypper) do record this information already to some
form of database/log which is accessible at any time, so it would be
redundant in that case.


What kind of plugin do you mean?


* git hash: 4487281b1ed93cc8a997adb56be51c33c52ebce9: Add
/usr/lib/rpm/macros.d/*, /etc/rpm/macros.d/* to macrofiles
- This one seems weird, as it disables the *.attr files and
eliminates the macros file name convention we've used in Fedora,
CentOS, Mageia, and openSUSE. I suspect this patch will remain
specific to ALT Linux.

* git hash: 60ea90eeb0341c2f8c761133033cd3e015c082c7: Add scripts/find-package
- I understand why this exists (apt metadata doesn't include file
lists, so you can't resolve them). We have the same problem in Mageia
with urpmi's hdlist2 metadata. We have patches that alter rpm's own
find-requires script to work as you need it to so that you don't have
to disable the internal generators. I've attached them to this email,
with a "series" file to indicate the order in which the patches can be
applied. These patches were written by Thierry Vignaud of Mageia for
our rpm package to solve the same issue while leveraging the new
dependency generator framework.


Mageia's implementation is not in the upstream, too, is it? Which 
implementation is better: the Mageia's one or the ALT's one?



I'll admit, I'm not really certain about many of the other ones...
Perhaps someone else here can take a deeper review of some of the
other patches and provide some feedback?

Do you guys have an equivalent package to redhat-rpm-config[2] or
rpm-mageia-setup[3] which contains your vendor configuration for RPM?
It seems like some of this stuff (like the GROUPS file, macros, etc.)
belong there...


As for build-stage macros, many of them are maintained in separate 
language/compiler specific small packages rpm-build-* or rpm-macros-*, 
like rpm-build-python, rpm-build-python3, etc.



[1]: http://git.altlinux.org/tasks/166699/gears/560/git?p=git;a=log
[2]: http://pkgs.fedoraproject.org/cgit/rpms/redhat-rpm-config.git/
[3]: http://gitweb.mageia.org/software/rpm/rpm-setup/about/


Best regards,
Ivan
___
Rpm-ecosystem mailing list
Rpm-ecosystem@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-ecosystem


Re: [Rpm-ecosystem] RPM in ALT Linux (4.0.4 vs 4.13)

2016-09-04 Thread Ivan Zakharyaschev


On Sun, 4 Sep 2016, Neal Gompa wrote:


On Sun, Sep 4, 2016 at 7:28 AM, Ivan Zakharyaschev <i...@altlinux.org> wrote:



package in ALT Linux, and I was wondering if you guys had contemplated
upgrading from rpm 4.0.4 to rpm 4.13?



glebfm@ and legion@ are busy now with this.
https://lists.altlinux.org/pipermail/devel/2016-July/201603.html

They could give most details about this process.

The first thing to do on this way was to rebase many ALT's features[1] onto
rpm(-install)-4.13. (Not yet features relevant for rpm-build.)
[1] https://www.altlinux.org/Rpm-4.13



As said, there are a few ALT-specific nice, important and non-trivial
features in RPM, which would always require maintaining a separate fork


The list (published under the given link on the wiki) is quite long, and 
Gleb has recently done a big job bringing them up-to-date with 4.13 (only 
the rpm-install part, not the rpm-build one):


   feature  stage

pdeath_execute.c   rpm
rpm --fancypercent rpm
filetriggers   rpm
write installed/removed package buildtime to syslogrpm
enhanced rebuilding database messages  rpm
rpm -q --lastchangerpm
rpm -q --changes-since=rpm
the '>'-test (required by changes-since)   rpm
':nothing' format variant (required by changes-since)  rpm
library set:versions comparison (install part) rpm
export RPM_INSTALL_{NAME,ARG1,ARG2} variables to scripts   rpm
tools/rpm{ver,evr}cmp.crpm
syslog info message for {installed,removed} packages   rpm
_wait_for_lock rpm

 %homedir  rpm
import language guessing mechanism from glibc/intl rpm
honor_buildtimerpm
rpm --ignorebuildtime  rpm
disabled tsort presentation order  rpm
alpha segments are always newer than numeric segments in   rpm
versions/releases
use 'chmod -c' and 'chown -c -h'   rpm
use posix_fadvise(2) to disable readahead  rpm
do not exclude Requires(pre) dependencies from rpmdb index rpm
[epoch = (none)] != [epoch = 0]rpm
closeall.c both
/usr/lib/rpm/functions both
filesize.c rpmbuild
relative.c rpmbuild
GROUPS rpmbuild
 %_bindir/gendiff  rpmbuild
_configure_{script,target,update_config,...}   rpmbuild
rpm -C rpmbuild
 %_allow_root_buildrpmbuild
/usr/lib/rpm/.provides.sh  rpmbuild
rpmbuild -bE, --nopatch, --nosourcerpmbuild
 %check_def(), %def_with(), %def_without(), %def_enablerpmbuild
(), %def_disable(),...
verify_elf rpmbuild
 %set_{autoconf,automake,libtool,gcc,...}_version  rpmbuild
rpminitrpmbuild
nice_changerpmbuild
enhanced RPM_SCRIPTS_DEBUG support, implemented debug levels   rpmbuild
enhanced RPM_SCRIPTS_DEBUG support, implemented debug levels   rpmbuild
/usr/lib/rpm/setcmprpmbuild
find-debuginfo-files   rpmbuild
add "-bt" %check-only option   rpmbuild
library set:versions generation (build part)   rpmbuild
buildhost macro defines package's buildhost tagrpmbuild
dump_ld_config rpmbuild

--
Best regards,
Ivan
___
Rpm-ecosystem mailing list
Rpm-ecosystem@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-ecosystem


Re: [Rpm-ecosystem] RPM in ALT Linux (4.0.4 vs 4.13)

2016-09-04 Thread Ivan Zakharyaschev


On Sun, 4 Sep 2016, Neal Gompa wrote:


On Sun, Sep 4, 2016 at 7:28 AM, Ivan Zakharyaschev <i...@altlinux.org> wrote:



package in ALT Linux, and I was wondering if you guys had contemplated
upgrading from rpm 4.0.4 to rpm 4.13?



glebfm@ and legion@ are busy now with this.
https://lists.altlinux.org/pipermail/devel/2016-July/201603.html

They could give most details about this process.

The first thing to do on this way was to rebase many ALT's features[1] onto
rpm(-install)-4.13. (Not yet features relevant for rpm-build.)



I'm sorry, I'm not too familiar with ALT's rpm setup, what is rpm-install?


Simply, there is the rpm-build part of RPM which is used to create files 
of RPM format; and the "other" part, the essential one, the tool of the 
administrator which takes an RPM file and installs it, etc. To distinguish 
this basic part from rpm-build, we have been calling it rpm-install 
sometimes.


(Theoretically, they are not tightly connected, and any other tool could 
be used instead of the standard rpm-build to produce RPM files if you 
target a distro which uses rpm to install packages, to control their 
dependencies etc. So, if someone thinks that the language of spec-files is 
ugly--like me--one can think about creating an alternative tool to 
describe the packages in another language, but still submit them to the 
same distro; for example, I'm interested in the way nix packages are done, 
and sometimes I'm thinking about various proxies like a tool to build an 
RPM package from nix rules, but also other kinds of proxies, in order to 
make the current work in ALT Sisyphus and in NixOS closer and more 
suitable for exchanging packages, switching the sources of the "specs".)



[1] https://www.altlinux.org/Rpm-4.13



like to see the ALT Linux rpm maintainer team be involved in upstream
rpm.org development, as I'm sure your perspective would be valuable to
ensure a vibrant ecosystem around rpm.



As said, there are a few ALT-specific nice, important and non-trivial
features in RPM, which would always require maintaining a separate fork
unless they are taken up by another RPM project, say, the rpm-4.13 project.
Then the forces could be joined.



If any of you guys who know about the extra features of your variant
of rpm can talk about them, it'd be great if they could bring them up
in the rpm-ecosystem mailing list[3] to propose for them to be merged
upstream into the rpm.org codebase. Florian Festi (the manager of the


Thanks for the links! Let's look forward. One more small comment from 
me: in a sense, it would be a good moment now to merge some patches right 
after Gleb has rebased the features onto 4.13, so that there is no delta. 
If you are interested in the patches, of course, you can have a look in 
the Git repository in the linked task (in one of the linked posts) and ask 
the authors any questions, but I'd suggest to wait until it is committed 
to ALT Sisyphus; then, it would be in a more finalized state.


http://git.altlinux.org/tasks/166699/


rpm project) is always interested in receiving patches for new
features and such. Patches are accepted via rpm-maint mailing list[4]
or GitHub[5]. Discussions can also occur on IRC on Freenode in
#rpm-ecosystem and #rpm.org.


Best regards,
Ivan
___
Rpm-ecosystem mailing list
Rpm-ecosystem@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-ecosystem