I've been playing around with making rpm use runtime-calculated directory
dependencies for additional transaction ordering hints - it gives a nice,
natural and consistent order when directory ownerships are clear. However
things can go very wrong if several unrelated packages own a directory,
multiprovided dir /usr/share/man/man1
Depending on input order, this could end up pulling gnome-power-manager
and a huge pile of gnome dependencies very early into the order where they
really cant be. So the result is a big mess, unless such multiply provided
directories are ignored in the ordering - easy enough to do, just a
lost opportunity to do something useful with existing data.
Using F11 x86_64 DVD as test material, here's the full output with the
owner packages included (lots of duplicates in there):
http://laiskiainen.org/tmp/f11-multiple-dirowners.txt ...and just the
directories which have more than one owner:
Translations, language pack packages and such are by far the biggest
single offender group, these have multiple direcotry ownerships all over
the place. The rest are mostly random individual cases of couple of
packages disagreeing with ownership of something or several sub-packages
owning more than they perhaps should.
The "couple of packages disagreeing" cases need to be looked at
case-by-case, but I think for the translations and such a clearer policy
would be good. Having the filesystem package and nothing else own most of
them seems fairly obvious but what should be done when a package
introduces a new translation that filesystem doesn't yet have? Require
filesystem to be updated every time (dunno how often this happens in
reality) or ...?
- Panu -
First off apologies for the cross-post to fedora-legal-list, this message has
some licensing questions, but I also wanted to keep context without having to
send two separate mails.
First off some background, earlier this year, i expressed a desire to package
some creative commons licensed content ...
After a bit of interest in this topic, including a general consensus that it
might be a good idea, the thread died out since i could not follow up on this
due to lack of time.
Now, however, I do have some time and so I decided to submit a few of packages
as an example of the idea:
(Note that all these submissions are technical books in the same vein as
diveintopython which already exists for Fedora.)
Now, I have 2 questions for fedora-legal:
a. Specific to the last two packages (ldd_pdf and javanotes) -- The upstream
license for both of those specify the license version number (CC-BY-SA version 2
and 2.5), however, the page that lists acceptable licenses for Fedora does
not provide any version numbers. So, should I modify the License tag or should
the wiki page be updated ?
b. About other CC licensed content -- A lot of the available content is licensed
with the Non-Commercial restriction, which is considered as a Bad License
according to the wiki page on licensing. Why is non-commercial only restriction
considered bad ? ...and is there an alternative to including this in the
official Fedora repository -- for instance the rpm fusion repository ?
Now, coming to the original question i raised, would it make sense for me to
submit additional such packages possibly even the non-tech related ? Can we have
an 'alpha', 'beta' or 'rawhide' of a creative commons repository to see if the
idea gains popularity and to create some policies regarding this ?
In any case, for people who'd already are sold on the idea, i've set up a
repository which for now has only 7 rpms (all of them books/tutorials) but I
intend on adding more. I've made them as Fedora Packaging Policy compliant as
Feel free to try it out and suggest/contribute similar content that you would
like to be packaged.
Note however, that these packages also include the CC content under the
Non-Commercial restriction which Fedora considers Bad.
You may use the repository by creating the file '/etc/yum.repos.d/lonetwin.repo'
with the following lines:
name=lonetwin's creative commons repo
..and just in case you are wondering why should you trust my repo ? Well, you
shouldn't. That said, none of the available packages are modified from the
original source, they are just packaged as rpms.
Comments/suggestions are welcome. I hope that this thread does not die out like
the last one.
I don't know if anyone from the Packaging Committee emailed you about
into a Packaging Draft so I'm making sure you're in the loop :-)
What we need is for the changes to the packaging guidelines to be
written up and presented in draft form. An overview of this process is
The draft can be a coy of the new draft based off the existing
guidelines or it can be just the sections that you are adding/modifying.
It should also include any explanation of why the changes are justified
written so someone unfamiliar with the problem space can understand. We
may request more information from you in order to polish the draft.
This is not yet happening, but the upstream project wants to do a
rename and release several "binaries" under the new project name. The
current binary and package is one of them:
project name: foo -->
rpm: foo --> binary: foo
project name: FOOBAR -->
rpm FOOBAR --> binary foo
--> binary bar
--> binary ernie
--> binary bert
foo 1.8 --> foobar 2.0
What are the procedures for this? Formal and technical ones? In
particular regarding the "updates". How can I make the old package be
superseeded by the new package.
My first idea was to just update the OSGi section of the Eclipse
plugin packaging guidline but things are more complicated if we will a
complete OSGi deps solving support.
IMO, we need to activate the osgideps.pl script on the whole system
(like the perl one) for the follow reasons:
- Ability to spit package "correctly", I think that the current
eclipse-rcp sub package cannot work without other sub packages at
the same time without the script I don't kow a way to sort that out.
- No need to add defines to each OSGi aware packages.
- Not need to rebuild
I made the src.rpm under F11
then koji build --scratch dist-5E-epel
can someone explain me why I get this :
DEBUG util.py:256: error: unpacking of archive failed on file
MD5 sum mismatch
and even using mock -r epel-5-i386 rebuild
on my box I get into the same trouble
/usr/share/php is provided by PHP and included in include_dir defaut value.
So this seems a good place to store "class" file.
But I think we need a Guidelines
1/ to not allow direct use of /usr/share/php
=> use a sub-folder
- php-oauth use /usr/share/php/oauth => ok
- php-xmpphp use /usr/share/php/xmpphp => ok
See reviews :
approved but use /usr/share/php
Review pending https://bugzilla.redhat.com/show_bug.cgi?id=505356
Review pending https://bugzilla.redhat.com/show_bug.cgi?id=505354
2/ to not allow install for Web application
A web application must install under /usr/share/<appname>
php-laconica seems to be a web-app installed under /usr/share/php
Comments before I propose a draft ?
I am familiar with packaging for other *nixes but this is my first RPM
attempt and I have a couple of questions. I have read the various
packaging docs on the Fedora Project site, but have been unable to find
a precise answer. If there is another document to read or another list
where I should be directing these questions, please let me know.
1. The Makefile sets PREFIX to /usr/local. In %install, is it ok
make install PREFIX=/usr DESTDIR=$RPM_BUILD_ROOT
2. The Makefile also attempts to install and set user/group ownership
and permissions, i.e. it does 'INSTALLBIN= install -g bin -o root -m
555'. Is it ok to address this by patching the line so it reads
'INSTALLBIN= install' seeing as how ownership and permissions are later
set in %files?
3. Similarly, the Makefile also hardcodes the manpage directory, i.e.
in install, it has: '$(INSTALLDIR) $(DESTDIR)$(PREFIX)/man/man1.
Again, is it ok to patch this line so it reads '$(INSTALLDIR)
$(DESTDIR)$PREFIX/share/man/man1'? This package has no ./configure
stage and just uses make and make install, and does not appear to
I have done all these in my draft spec file and the package clears
rpmlint and builds fine with mock, but I wanted to know if what I did