Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.

This site requires JavaScript to be enabled to function correctly, please enable it.

- Please add perl as BR. Albeit brought in as a dependency, it is not contained
in the list of exceptions (unlike patch). Strictly speaking, configure also
tests for perl(Cwd), perl(File::Temp) and perl(Pod::Usage), which currently are
all satisfied by perl itself.
- Please add patch, gcc and rsync as a runtime requirement.
- The perl(ksplice) provides/requires should be filtered, seems to be bogus as
ksplice.pm is not installed in the standard perl path (and probably not to be
used by any other tool).
- Not sure about _datadir/ksplice/kmodsrc. Shouldn't that be moved to
_usrsrc/kmodsrc?

(In reply to comment #4)
> For Topic #3 of comment #2 I want to aks, how I can do it?
See http://fedoraproject.org/wiki/Packaging/Perl#In_.25prep_.28preferred.29 :
cat << \EOF > %{name}-prov
#!/bin/sh
%{__perl_provides} $* |\
sed -e '/perl(ksplice)/d'
EOF
%define __perl_provides %{_builddir}/%{name}-%{version}/%{name}-prov
chmod +x %{__perl_provides}
cat << \EOF > %{name}-req
#!/bin/sh
%{__perl_requires} $* |\
sed -e '/perl(ksplice)/d'
EOF
%define __perl_requires %{_builddir}/%{name}-%{version}/%{name}-req
chmod +x %{__perl_requires}
> For the last point of comment #2 if have decided to make no changes.
Ok. Other packages seem to have sourcefiles in %_datadir as well.
> ExclusiveArch: %{x86} x86_64
Typo: should be %{ix86}. However, I was told on #fedora-devel that in such
cases, when it isn't unlikely at all that the package will be ported to other
architectures, we should use excludearch instead. Only packages that will
*never* be built on anything else should use exclusivearch. So, please use
"ExcludeArch: ppc ppc64".

Still missing some runtime dependencies, I think. At least
- module-init-tools (for lsmod/insmod/rmmod)
- util-linux-ng (for dmesg)
- tar and gzip
- coreutils (for cp, mv, mkdir, etc...)
- findutils (find)
- binutils (ld)
- make
- diffutils (cmp)
and likely some more, as a complete kernel build is performed by ksplice-create.
Have a look at the kernel.spec's BuildRequirements list, could be (partly)
re-used here.
Besides, I tried to use ksplice on f9/x_86_64, with the printk example from the
tutorial and it didn't work, but maybe I did something wrong. Did you actually
try using ksplice on a fedora kernel?

(In reply to comment #7)
> Besides, I tried to use ksplice on f9/x_86_64, with the printk example from the
> tutorial and it didn't work, but maybe I did something wrong.
Taking that back. It works, iff you use the right kernel tree.

Unfortunately, there are no kernel-source rpms anymore. So, basically, the
procedure is as follows:
- download the proper source rpm for the running kernel:
"yumdownloader --source kernel-`uname -r`"
- install it: rpm -ivh kernel-*.src.rpm
- prep it: cd `rpm --eval '%{_specdir}'` &&
rpmbuild --with baseonly -bp --target=`uname -m` kernel.spec
In %{_builddir}/kernel-2.6.25/linux-2.6.25.`uname -m` there is an almost usable
tree after that, and one could proceed with the ksplice tutorial (i.e. make a
ksplice subdir, copy the right System.map and .config from /boot there, modify
some files, or get the desired patch, and finally call ksplice-create).
There's one gotcha though: that kernel tree's EXTRAVERSION is empty, (it is
being set in %build, not in %prep), and thus the generated ksplice modules can
only forcefully be loaded into the running kernel because of a version magic
mismatch.
So if you've got enough time, use -bc instead of -bp. That actually builds the
complete kernel, but then you can be quite sure that the resulting tree matches
that of the running kernel.

There are some rpmlint issues:
ksplice.src:93: E: files-attr-not-set
ksplice.src: W: mixed-use-of-spaces-and-tabs (spaces: line 36, tab: line 1)
ksplice.src: W: strange-permission fedora-ksplice-prepare 0775
Minor (non-blocking issues) regarding the fedora-ksplice-prepare script:
- There are some typos:
# fedora-ksplice-prepare fetches the source rpm of the currently installed kernel
# from the repository an tries to prepare it for ksplice.
...
echo "Kernel rpm will be prepared"
- The tmpdir is not removed if something fails (use trap).
- Not sure whether deleting the downloaded src.rpm is a good idea, the user might want to rerun the script if something breaks.

In addition to the review done earlier:
[x] latest version is packaged (0.9.0)
[x] source files match upstream
md5sum: 33934d125cdc050cd68f8ea34f1f4f23
[x] package builds at least on one architecture
tested on: f9/i386, f9/x86_64, f10/all
[!] final provides/requires look sane
- the rsync dependency can be dropped
- the perl module has been renamed (capitalized), please filter
perl(Ksplice) now
[!] patches should have a comment about upstream status
- did you sent the zlib patch upstream? please add a note
explaining the status
The package is APPROVED, iff you fix these three (minor) issues.

ksplice-0.9.0-3.fc9 has been pushed to the Fedora 9 testing repository. If problems still persist, please make note of it in this bug report.
If you want to test the update, you can install it with
su -c 'yum --enablerepo=updates-testing update ksplice'. You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F9/FEDORA-2008-8479

ksplice-0.9.0-3.fc8 has been pushed to the Fedora 8 testing repository. If problems still persist, please make note of it in this bug report.
If you want to test the update, you can install it with
su -c 'yum --enablerepo=updates-testing update ksplice'. You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F8/FEDORA-2008-8492

ksplice-0.9.1-1.fc9 has been pushed to the Fedora 9 testing repository. If problems still persist, please make note of it in this bug report.
If you want to test the update, you can install it with
su -c 'yum --enablerepo=updates-testing update ksplice'. You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F9/FEDORA-2008-8641

ksplice-0.9.1-1.fc8 has been pushed to the Fedora 8 testing repository. If problems still persist, please make note of it in this bug report.
If you want to test the update, you can install it with
su -c 'yum --enablerepo=updates-testing update ksplice'. You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F8/FEDORA-2008-8647