<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
 <HEAD>
   <TITLE> [Mageia-dev] bumblebee in mageia (and mentoring)
   </TITLE>
   <LINK REL="Index" HREF="index.html" >
   <LINK REL="made" HREF="mailto:mageia-dev%40mageia.org?Subject=Re%3A%20%5BMageia-dev%5D%20bumblebee%20in%20mageia%20%28and%20mentoring%29&In-Reply-To=%3C4F84630E.3040304%40mageia.org%3E">
   <META NAME="robots" CONTENT="index,nofollow">
   <META http-equiv="Content-Type" content="text/html; charset=us-ascii">
   <LINK REL="Previous"  HREF="014099.html">
   <LINK REL="Next"  HREF="014103.html">
 </HEAD>
 <BODY BGCOLOR="#ffffff">
   <H1>[Mageia-dev] bumblebee in mageia (and mentoring)</H1>
    <B>Anssi Hannula</B> 
    <A HREF="mailto:mageia-dev%40mageia.org?Subject=Re%3A%20%5BMageia-dev%5D%20bumblebee%20in%20mageia%20%28and%20mentoring%29&In-Reply-To=%3C4F84630E.3040304%40mageia.org%3E"
       TITLE="[Mageia-dev] bumblebee in mageia (and mentoring)">anssi at mageia.org
       </A><BR>
    <I>Tue Apr 10 18:42:54 CEST 2012</I>
    <P><UL>
        <LI>Previous message: <A HREF="014099.html">[Mageia-dev] bumblebee in mageia (and mentoring)
</A></li>
        <LI>Next message: <A HREF="014103.html">[Mageia-dev] bumblebee in mageia (and mentoring)
</A></li>
         <LI> <B>Messages sorted by:</B> 
              <a href="date.html#14102">[ date ]</a>
              <a href="thread.html#14102">[ thread ]</a>
              <a href="subject.html#14102">[ subject ]</a>
              <a href="author.html#14102">[ author ]</a>
         </LI>
       </UL>
    <HR>  
<!--beginarticle-->
<PRE>10.04.2012 07:46, simple w8 kirjoitti:
&gt;<i> Currently i dont have any account to be able to comit these new
</I>&gt;<i> packages for the distro so i ask if someone can review the specs so
</I>&gt;<i> that these packages can start existing in the distro, and i also ask
</I>&gt;<i> if theres someone that can help me with mentoring 
</I>
Reviewed below. However, there looks to be quite a lot of work
remaining, so I don't think I'll be able to help you personally with the
issues. I hope you'll find a mentor who'll help you through.


&gt;<i> Name:		libbsd
</I>&gt;<i> Summary:	Library providing BSD-compatible functions for portability
</I>&gt;<i>[...]
</I>&gt;<i> %{_libdir}/libbsd.so.%{major}*
</I>[...]
&gt;<i> %{_libdir}/libbsd.so
</I>[...]

We already have libbsd.a from glibc-devel, which would conflict with
this. If they are really different libraries, something drastic would
have to be done (e.g. renaming or dropping one). I suspect they are the
same, though, in which case this isn't needed.

&gt;<i> %prep
</I>&gt;<i> %setup -q
</I>&gt;<i> # fix encoding of flopen.3 man page
</I>&gt;<i> for f in src/flopen.3; do
</I>&gt;<i>   iconv -f iso8859-1 -t utf-8 $f &gt;$f.conv
</I>&gt;<i>   touch -r $f $f.conv
</I>&gt;<i>   mv $f.conv $f
</I>&gt;<i> done
</I>&gt;<i> 
</I>&gt;<i> %build
</I>&gt;<i> %make
</I>
%optflags not used.

&gt;<i> %install
</I>&gt;<i> make install DESTDIR=%{buildroot} \
</I>
%makeinstall_std

&gt;<i>     libdir=%{_libdir} \
</I>&gt;<i>     usrlibdir=%{_libdir} \
</I>&gt;<i>     exec_prefix=%{_prefix}
</I>&gt;<i> 
</I>[...]
&gt;<i> optidesk.spec
</I>&gt;<i> 
</I>&gt;<i> 
</I>&gt;<i> Name:           optidesk
</I>&gt;<i> Summary:        Tool to configure .desktop files to run with optirun
</I>&gt;<i> Group:          Graphical desktop/Other
</I>&gt;<i> Version:        0.1
</I>&gt;<i> Release:        1
</I>&gt;<i> URL:            <A HREF="https://github.com/Bumblebee-Project/optidesk">https://github.com/Bumblebee-Project/optidesk</A>
</I>&gt;<i> License:        GPLv3
</I>&gt;<i> # source from git repo <A HREF="git://github.com/Bumblebee-Project/optidesk.git">git://github.com/Bumblebee-Project/optidesk.git</A>
</I>&gt;<i> Source0:	%{name}.tar.xz
</I>
Tarball needs to be versioned.

&gt;<i> Requires:	bumblebee
</I>&gt;<i> 
</I>&gt;<i> %description
</I>&gt;<i> This tool is intended to be an easy way of configuring your desired
</I>&gt;<i> applications to be run through Bumblebee. It will allow to create
</I>&gt;<i> and modify a menu entry with an alternative (Optirun) version of the
</I>&gt;<i> default launcher.
</I>&gt;<i> 
</I>&gt;<i> %files
</I>&gt;<i> %{_bindir}/%{name}
</I>&gt;<i> 
</I>&gt;<i> 
</I>&gt;<i> %prep
</I>&gt;<i> %setup -qn %{name}
</I>&gt;<i> 
</I>&gt;<i> %build
</I>&gt;<i> autoreconf -fi
</I>&gt;<i> %configure
</I>
%configure2_5x

&gt;<i> %make
</I>[...]
&gt;<i> %changelog
</I>&gt;<i> * Mon Mar 19 2012 Simple &lt;<A HREF="https://www.mageia.org/mailman/listinfo/mageia-dev">simplew8 at gmailcom</A>&gt; 3.0-1
</I>&gt;<i> - initial package
</I>
No single-entry changelog needed for imported packages, it will be
created from the import commit message. (applies to all .specs)

&gt;<i> 
</I>&gt;<i> dkms-bbswitch.spec
</I>&gt;<i> 
</I>&gt;<i> 
</I>&gt;<i> %define oname bbswitch
</I>&gt;<i> 
</I>&gt;<i> Name:           dkms-%{oname}
</I>&gt;<i> Summary:        bbswitch - Optimus GPU power switcher
</I>&gt;<i> Group:          System/Kernel and hardware
</I>&gt;<i> Version:        0.4.1
</I>&gt;<i> Release:        %mkrel 1
</I>&gt;<i> License:        GPLv3
</I>&gt;<i> URL:            <A HREF="https://github.com/Bumblebee-Project/bbswitch">https://github.com/Bumblebee-Project/bbswitch</A>
</I>&gt;<i> # source from git repo <A HREF="git://github.com/Bumblebee-Project/bbswitch.git">git://github.com/Bumblebee-Project/bbswitch.git</A>
</I>&gt;<i> Source0:        %{oname}.tar.xz
</I>
Tarball needs to be versioned.

&gt;<i> BuildArch:	noarch
</I>&gt;<i> Requires(post):	dkms
</I>&gt;<i> Requires(preun):dkms
</I>
Needs to require dkms.

&gt;<i> 
</I>&gt;<i> %description
</I>&gt;<i> bbswitch is a kernel module which automatically detects the required
</I>&gt;<i> ACPI calls for two kinds of Optimus laptops. It has been verified to
</I>&gt;<i> work with &quot;real&quot; Optimus and &quot;legacy&quot; Optimus laptops (at least, that
</I>&gt;<i> is how I call them).
</I>&gt;<i> 
</I>&gt;<i> %files 
</I>&gt;<i> %{_usrsrc}/%{oname}-%{version}/*
</I>&gt;<i> 
</I>&gt;<i> %post
</I>&gt;<i> set -x
</I>&gt;<i> dkms add -m %{oname} -v %{version} --rpm_safe_upgrade || :
</I>&gt;<i> dkms build -m %{oname} -v %{version} --rpm_safe_upgrade || :
</I>&gt;<i> dkms install -m %{oname} -v %{version} --rpm_safe_upgrade || :
</I>&gt;<i> /sbin/modprobe %{oname} || :
</I>&gt;<i> 
</I>&gt;<i> %preun
</I>&gt;<i> dkms remove --binary -m %{oname} -v %{version} --rpm_safe_upgrade --all || :
</I>&gt;<i> /sbin/rmmod %{oname} || :
</I>&gt;<i> 
</I>
These scripts are a bit incorrect, see
<A HREF="https://wiki.mageia.org/en/DKMS_packaging_policy">https://wiki.mageia.org/en/DKMS_packaging_policy</A>
(some || : should be replaced with &amp;&amp;)

&gt;<i> %prep 
</I>&gt;<i> %setup -qn %{oname}
</I>&gt;<i> sed -i 's/#MODULE_VERSION#/%{version}/g' dkms/dkms.conf
</I>&gt;<i> 
</I>&gt;<i> %install
</I>&gt;<i> rm -rf %{buildroot}
</I>&gt;<i> mkdir -p %{buildroot}%{_usrsrc}/%{oname}-%{version}
</I>&gt;<i> cp *.c %{buildroot}%{_usrsrc}/%{oname}-%{version}
</I>&gt;<i> cp Makefile %{buildroot}%{_usrsrc}/%{oname}-%{version}
</I>&gt;<i> cp dkms/dkms.conf %{buildroot}%{_usrsrc}/%{oname}-%{version}/dkms.conf
</I>&gt;<i> 
</I>&gt;<i> %changelog
</I>&gt;<i> * Mon Mar 19 2012 Simple &lt;<A HREF="https://www.mageia.org/mailman/listinfo/mageia-dev">simplew8 at gmail.com</A>&gt; 0.4.1-1
</I>&gt;<i> - initial package
</I>&gt;<i> 
</I>&gt;<i> 
</I>&gt;<i> bumblebee.spec
</I>&gt;<i> 
</I>&gt;<i> 
</I>&gt;<i> Name:           bumblebee
</I>&gt;<i> Summary:        Bumblebee - support for NVidia Optimus laptops on Linux!
</I>&gt;<i> Group:          System/Kernel and hardware
</I>&gt;<i> Version:        3.0
</I>&gt;<i> Release:        1
</I>
Missing %mkrel.

&gt;<i> URL:            <A HREF="https://github.com/Bumblebee-Project/bumblebee">https://github.com/Bumblebee-Project/bumblebee</A>
</I>&gt;<i> License:        GPLv3
</I>
Incorrect license, see license policy:
<A HREF="https://wiki.mageia.org/en/Licensing_policy">https://wiki.mageia.org/en/Licensing_policy</A>

AFAICS should be GPLv3+. I didn't check other packages, they may have
wrong tags as well.

&gt;<i> # source from git repo <A HREF="git://github.com/Bumblebee-Project/Bumblebee.git">git://github.com/Bumblebee-Project/Bumblebee.git</A>
</I>&gt;<i> Source0:	Bumblebee.tar.xz
</I>
Needs to be versioned.

&gt;<i> BuildRequires:	X11-devel
</I>&gt;<i> BuildRequires:	pkgconfig(glib-2.0)
</I>&gt;<i> BuildRequires:	pkgconfig(libbsd)
</I>&gt;<i> BuildRequires:	help2man
</I>&gt;<i> Requires(pre):	update-alternatives
</I>&gt;<i> Requires(post):	systemd-units
</I>&gt;<i> Requires(preun):systemd-units
</I>&gt;<i> Requires(postun):systemd-units
</I>&gt;<i> Requires:	virtualgl
</I>&gt;<i> Requires:	x11-driver-video-nvidia-current
</I>
I thought this worked with nouveau as well?

&gt;<i> Requires:	dkms-bbswitch
</I>&gt;<i> Requires:	dkms-acpi_call
</I>
Packages can't require dkms packages directly, see the aforementioned
DKMS policy (use kmod() instead). Requiring them directly breaks binary
dkms packages.

&gt;<i> %description
</I>&gt;<i> Bumblebee daemon is a rewrite of the original Bumblebee service,
</I>&gt;<i> providing an elegant and stable means of managing Optimus hybrid
</I>&gt;<i> graphics chipsets.
</I>&gt;<i> A primary goal of this project is to not only enable use of the
</I>&gt;<i> discrete GPU for rendering, but also to enable smart power management
</I>&gt;<i> of the dGPU when it's not in use.
</I>&gt;<i> 
</I>&gt;<i> %prep
</I>&gt;<i> %setup -qn Bumblebee
</I>&gt;<i> 
</I>&gt;<i> %build
</I>&gt;<i> autoreconf -fi
</I>&gt;<i> %configure \
</I>&gt;<i> CONF_DRIVER=nvidia \
</I>&gt;<i> CONF_DRIVER_MODULE_NVIDIA=nvidia-current \
</I>&gt;<i> CONF_LDPATH_NVIDIA=/usr/lib/nvidia-current:/usr/lib64/nvidia-current \
</I>&gt;<i> CONF_MODPATH_NVIDIA=/usr/lib/nvidia-current/xorg,/usr/lib64/nvidia-current/xorg,/usr/lib/xorg/modules,/usr/lib64/xorg/modules,/usr/lib/xorg/extra-modules,/usr/lib64/xorg/extra-modules
</I>
Use %{_libdir}, %ifarch and %{_prefix}/lib. 32-bit builds need only
%{_libdir}, 64-bit builds (%ifarch x86_64) need both %{_libdir} and
%{_prefix}/lib.


&gt;<i> %make
</I>&gt;<i> 
</I>&gt;<i> %install
</I>&gt;<i> rm -rf %{buildroot}
</I>&gt;<i> %makeinstall_std
</I>&gt;<i> 
</I>&gt;<i> install -m644 -D scripts/systemd/bumblebeed.service %{buildroot}%{_sysconfdir}/systemd/system/bumblebeed.service
</I>&gt;<i> install -m644 -D scripts/sysvinit/bumblebeed %{buildroot}%{_initrddir}/%{name}/bumblebeed
</I>&gt;<i> 
</I>&gt;<i> %files
</I>&gt;<i> %doc README.markdown doc/RELEASE_NOTES_3_0
</I>&gt;<i> %config(noreplace) %{_sysconfdir}/bash_completion.d/bumblebee
</I>
This shouldn't be %config.

&gt;<i> %dir %{_sysconfdir}/bumblebee/
</I>&gt;<i> %config(noreplace) %{_sysconfdir}/bumblebee/bumblebee.conf
</I>&gt;<i> %config(noreplace) %{_sysconfdir}/bumblebee/xorg.conf.nouveau
</I>&gt;<i> %config(noreplace) %{_sysconfdir}/bumblebee/xorg.conf.nvidia
</I>&gt;<i> %{_sysconfdir}/systemd/system/bumblebeed.service
</I>&gt;<i> %{_initrddir}/%{name}/
</I>
Extra '/'?

&gt;<i> %{_sbindir}/bumblebeed
</I>&gt;<i> %{_bindir}/optirun
</I>&gt;<i> %{_bindir}/bumblebee-bugreport
</I>&gt;<i> %{_mandir}/man1/bumblebeed.1*
</I>&gt;<i> %{_mandir}/man1/optirun.1*
</I>&gt;<i> 
</I>&gt;<i> %pre
</I>&gt;<i> %_pre_groupadd %{name}
</I>&gt;<i> if [ &quot;$1&quot; -eq &quot;1&quot; ];then
</I>&gt;<i>   /usr/sbin/update-alternatives --set gl_conf %{_sysconfdir}/ld.so.conf.d/GL/standard.conf
</I>&gt;<i> fi
</I>
Forcibly changing configuration in %pre seems quite bad to me, though I
do not see much better solutions (except making XFdrake aware of
bumblebee, which is quite some work).

&gt;<i> %post
</I>&gt;<i> %_post_service bumblebeed
</I>[...]
&gt;<i> if [ $1 -eq 1 ]; then
</I>&gt;<i>   # Initial set
</I>&gt;<i>   # Enable (but don't start) the unit by default
</I>&gt;<i>   /bin/systemctl enable bumblebeed.service
</I>&gt;<i> fi
</I>
I don't think this stuff is needed on Mageia, that is done by default.

&gt;<i> %preun
</I>&gt;<i> %_preun_service bumblebeed
</I>[...]
&gt;<i> if [ $1 -eq 0 ]; then
</I>&gt;<i>   # Package removal, not upgrade
</I>&gt;<i>   /bin/systemctl --no-reload disable bumblebeed.service
</I>&gt;<i>   /bin/systemctl stop bumblebeed.service
</I>&gt;<i> fi
</I>
That is done by %_preun_service already.


&gt;<i> %postun
</I>&gt;<i> %_postun_groupdel %{name}
</I>
&gt;<i> /bin/systemctl daemon-reload
</I>
Already done by filetriggers.

&gt;<i> if [ $1 -ge 1 ]; then
</I>&gt;<i>   # Package upgrade, not uninstall
</I>&gt;<i>   /bin/systemctl try-restart bumblebeed.service
</I>&gt;<i> fi
</I>
Already done by %_post_service.

&gt;<i> 
</I>&gt;<i> %changelog
</I>&gt;<i> * Mon Mar 19 2012 Simple &lt;<A HREF="https://www.mageia.org/mailman/listinfo/mageia-dev">simplew8 at gmailcom</A>&gt; 3.0-1
</I>&gt;<i> - 3.0 (from git), initial package
</I>&gt;<i> 
</I>&gt;<i> 
</I>&gt;<i> bumblebee-ui.spec
</I>&gt;<i> 
</I>&gt;<i> 
</I>&gt;<i> Name:		bumblebee-ui
</I>&gt;<i> Summary:	Bumblebee User Interface
</I>&gt;<i> Group:		System/Configuration/Other
</I>&gt;<i> Version:	1.0
</I>&gt;<i> Release:	%mkrel 1
</I>&gt;<i> URL:		<A HREF="https://github.com/Bumblebee-Project/bumblebee-ui">https://github.com/Bumblebee-Project/bumblebee-ui</A>
</I>&gt;<i> License:	GPLv3
</I>&gt;<i> # source from git repo <A HREF="git://github.com/Bumblebee-Project/bumblebee-ui.git">git://github.com/Bumblebee-Project/bumblebee-ui.git</A>
</I>&gt;<i> Source0:	%{name}.tar.xz
</I>
Needs to be versioned.

&gt;<i> BuildArch:	noarch
</I>&gt;<i> Requires:	bumblebee
</I>&gt;<i> 
</I>&gt;<i> %description
</I>&gt;<i> This is a user interface for bumblebee.
</I>&gt;<i> A complete explanation of the feature of this user interface are
</I>&gt;<i> explained here : 
</I>&gt;<i>     <A HREF="https://github.com/Bumblebee-Project/bumblebee-ui/wiki">https://github.com/Bumblebee-Project/bumblebee-ui/wiki</A>
</I>&gt;<i> Please give it a try and report bugs to:
</I>&gt;<i>     <A HREF="https://github.com/Bumblebee-Project/bumblebee-ui/issues">https://github.com/Bumblebee-Project/bumblebee-ui/issues</A>
</I>
&quot;Please give it a try&quot; is inappropriate in a %description. This should
also briefly explain what bumblebee is.

&gt;<i> %files
</I>&gt;<i> %{_sysconfdir}/xdg/autostart/bumblebee-indicator.desktop
</I>&gt;<i> %{_bindir}/bumblebee*
</I>&gt;<i> %{_datadir}/%{name}/
</I>&gt;<i> %{_datadir}/applications/*
</I>&gt;<i> %{_iconsdir}/hicolor/*
</I>&gt;<i> 
</I>&gt;<i> %prep
</I>&gt;<i> %setup -qn %{name}
</I>&gt;<i> 
</I>&gt;<i> %install
</I>&gt;<i> rm -rf %{buildroot}
</I>&gt;<i> mkdir -p %{buildroot}%{_iconsdir}/hicolor/48x48/apps/
</I>&gt;<i> cp icons/*.* %{buildroot}%{_iconsdir}/hicolor/48x48/apps/
</I>&gt;<i> mkdir -p %{buildroot}%{_datadir}/{%{name},applications}
</I>&gt;<i> cp app/*.* %{buildroot}%{_datadir}/%{name}
</I>&gt;<i> cp bumblebee-app-settings.desktop %{buildroot}%{_datadir}/applications/
</I>&gt;<i> cp bumblebee-indicator.desktop %{buildroot}%{_datadir}/applications/
</I>&gt;<i> mkdir -p %{buildroot}%{_bindir}
</I>&gt;<i> ln -s %{_datadir}/%{name}/AppSettings.py %{buildroot}%{_bindir}/bumblebee-app-settings
</I>&gt;<i> ln -s %{_datadir}/%{name}/Bumblebee-Indicator.py %{buildroot}%{_bindir}/bumblebee-indicator
</I>&gt;<i> 
</I>&gt;<i> chmod +x %{buildroot}%{_datadir}/applications/bumblebee-app-settings.desktop
</I>&gt;<i> chmod +x %{buildroot}%{_datadir}/applications/bumblebee-indicator.desktop
</I>&gt;<i> chmod +x -R %{buildroot}%{_datadir}/%{name}
</I>&gt;<i> 
</I>&gt;<i> # Always start in boot
</I>&gt;<i> mkdir -p %{buildroot}%{_sysconfdir}/xdg/autostart
</I>&gt;<i> cp bumblebee-indicator.desktop %{buildroot}%{_sysconfdir}/xdg/autostart
</I>&gt;<i> 
</I>&gt;<i> 
</I>&gt;<i> %changelog
</I>&gt;<i> * Mon Mar 19 2012 Simple &lt;<A HREF="https://www.mageia.org/mailman/listinfo/mageia-dev">simplew8 at gmail.com</A>&gt; 1.0-1
</I>&gt;<i> - initial package
</I>&gt;<i> 
</I>&gt;<i> 
</I>&gt;<i> dkms-acpi_call.spec
</I>&gt;<i> 
</I>&gt;<i> 
</I>&gt;<i> %define modname acpi_call
</I>&gt;<i> 
</I>&gt;<i> Name:           dkms-%{modname}
</I>&gt;<i> Summary:        A kernel module that enables you to call ACPI methods
</I>&gt;<i> Group:          System/Kernel and hardware
</I>&gt;<i> Version:        0.1
</I>&gt;<i> Release:        %mkrel 1
</I>&gt;<i> URL:            <A HREF="https://github.com/Bumblebee-Project/acpi_call">https://github.com/Bumblebee-Project/acpi_call</A>
</I>&gt;<i> License:        GPL
</I>&gt;<i> # source from git repo <A HREF="git://github.com/Bumblebee-Project/acpi_call.git">git://github.com/Bumblebee-Project/acpi_call.git</A>
</I>&gt;<i> Source0:	%{modname}.tar.xz
</I>
Needs to be versioned.

&gt;<i> BuildArch:	noarch
</I>&gt;<i> Requires(post):	dkms
</I>&gt;<i> Requires(preun):dkms
</I>
Needs to require dkms.

&gt;<i> 
</I>&gt;<i> %description
</I>&gt;<i> A kernel module that enables you to call ACPI methods by writing the
</I>&gt;<i> method name followed by arguments to /proc/acpi/call.
</I>&gt;<i> 
</I>&gt;<i> %files
</I>&gt;<i> %doc README
</I>&gt;<i> %{_usrsrc}/%{modname}-%{version}-%{release}/*
</I>&gt;<i> 
</I>&gt;<i> %post
</I>&gt;<i> set -x
</I>&gt;<i> /usr/sbin/dkms add -m %{modname} -v %{version}-%{release} --rpm_safe_upgrade || :
</I>&gt;<i> /usr/sbin/dkms build -m %{modname} -v %{version}-%{release} --rpm_safe_upgrade || :
</I>&gt;<i> /usr/sbin/dkms install -m %{modname} -v %{version}-%{release} --rpm_safe_upgrade || :
</I>&gt;<i> /sbin/modprobe %{modname} || :
</I>
Same comments as for the previous dkms package, see mentioned policy.

&gt;<i> 
</I>&gt;<i> %preun
</I>&gt;<i> dkms remove --binary -m %{modname} -v %{version}-%{release} --rpm_safe_upgrade --all || :
</I>&gt;<i> /sbin/rmmod %{modname} || :
</I>&gt;<i> 
</I>&gt;<i> %prep
</I>&gt;<i> %setup -qn %{modname}
</I>&gt;<i> 
</I>&gt;<i> %install
</I>&gt;<i> rm -rf %{buildroot}
</I>&gt;<i> 
</I>&gt;<i> mkdir -p -m755 %{buildroot}%{_usrsrc}/%{modname}-%{version}-%{release}
</I>&gt;<i> cp -a * %{buildroot}%{_usrsrc}/%{modname}-%{version}-%{release}
</I>&gt;<i> # DKMS config
</I>&gt;<i> cat &gt; %{buildroot}%{_usrsrc}/%{modname}-%{version}-%{release}/dkms.conf &lt;&lt; 'EOF'
</I>&gt;<i> PACKAGE_NAME=&quot;%{modname}&quot;
</I>&gt;<i> PACKAGE_VERSION=&quot;%{version}-%{release}&quot;
</I>&gt;<i> MAKE[0]=&quot;make default KERNELPATH=${kernel_source_dir}&quot;
</I>
&gt;<i> MAKE_MATCH[0]=&quot;make load KERNELPATH=${kernel_source_dir}&quot;
</I>
MAKE_MATCH[#] is a regular expression field, you have something very
different in there. MAKE_MATCH[#] line is unneeded here.

&gt;<i> BUILT_MODULE_NAME[0]=&quot;%{modname}&quot;
</I>&gt;<i> DEST_MODULE_LOCATION[0]=&quot;/kernel/drivers/acpi&quot;
</I>&gt;<i> REMAKE_INITRD=&quot;no&quot;
</I>&gt;<i> AUTOINSTALL=&quot;yes&quot;
</I>&gt;<i> EOF
</I>&gt;<i> 
</I>&gt;<i> %changelog
</I>&gt;<i> * Mon Mar 19 2012 Simple &lt;<A HREF="https://www.mageia.org/mailman/listinfo/mageia-dev">simplew8 at gmailcom</A>&gt; 1.0-1
</I>&gt;<i> - initial package
</I>&gt;<i> 
</I>&gt;<i> 
</I>&gt;<i> libindicator.spec
</I>&gt;<i> 
</I>&gt;<i> 
</I>&gt;<i> %define major 7
</I>&gt;<i> %define libtool %mklibname indicator3
</I>&gt;<i> %define libname %mklibname indicator3_ %{major}
</I>&gt;<i> %define libdevel %mklibname indicator3 -d
</I>&gt;<i> 
</I>&gt;<i> Name:           libindicator
</I>&gt;<i> Summary:        A set of symbols and convience functions for indicators
</I>&gt;<i> Group:          System/Libraries
</I>&gt;<i> Version:        0.4.93
</I>&gt;<i> Release:        %mkrel 1
</I>&gt;<i> License:        GPL-3.0
</I>
Incorrect license tag.

&gt;<i> URL:            <A HREF="http://launchpad.net/libindicator">http://launchpad.net/libindicator</A>
</I>&gt;<i> Source0:        <A HREF="http://launchpad.net/libindicator/0.5/0.4.93/+download//%{name">http://launchpad.net/libindicator/0.5/0.4.93/+download//%{name</A>}-%{version}.tar.gz
</I>&gt;<i> BuildRequires:  pkgconfig(gtk+-3.0)
</I>&gt;<i> 
</I>&gt;<i> %description
</I>&gt;<i> A set of symbols and convience functions that all indicators would like
</I>&gt;<i> to use. Not of real use outside of the Ayatana indicators project.
</I>&gt;<i> 
</I>&gt;<i> #--------------------------------------------------------------------
</I>&gt;<i> %package -n %{libname}
</I>&gt;<i> Summary:        libindicator3 library
</I>&gt;<i> Group:          System/Libraries
</I>&gt;<i> 
</I>&gt;<i> %description -n %{libname}
</I>&gt;<i> Library for libindicator3.
</I>&gt;<i> 
</I>&gt;<i> %files -n %{libname}
</I>&gt;<i> %{_libdir}/libindicator3.so.%{major}*
</I>&gt;<i> 
</I>&gt;<i> #--------------------------------------------------------------------
</I>&gt;<i> %package -n %{libtool}-tools
</I>&gt;<i> Summary:        libindicator3 tool
</I>&gt;<i> Group:          System/Libraries
</I>&gt;<i> 
</I>&gt;<i> %description -n %{libtool}-tools
</I>&gt;<i> Tool to load libindicator3 plugins.
</I>&gt;<i> 
</I>&gt;<i> %files -n %{libtool}-tools
</I>&gt;<i> %{_libdir}/indicator-loader3
</I>&gt;<i> %{_libdir}/libdummy-indicator-blank.so
</I>&gt;<i> %{_libdir}/libdummy-indicator-entry-func.so
</I>&gt;<i> %{_libdir}/libdummy-indicator-null.so
</I>&gt;<i> %{_libdir}/libdummy-indicator-signaler.so
</I>&gt;<i> %{_libdir}/libdummy-indicator-simple.so
</I>&gt;<i> %{_libdir}/libdummy-indicator-visible.so
</I>&gt;<i>    
</I>&gt;<i> #--------------------------------------------------------------------
</I>&gt;<i> %package -n %{libdevel}
</I>&gt;<i> Summary:        libindicator3 development files
</I>&gt;<i> Group:          Development/GNOME and GTK+
</I>&gt;<i> Requires:	%{libname} &gt;= %{version}
</I>
Shouldn't this be &quot;=&quot;?

&gt;<i> 
</I>&gt;<i> %description -n %{libdevel}
</I>&gt;<i> Development files needed by libindicator3.
</I>&gt;<i> 
</I>&gt;<i> %files -n %{libdevel}
</I>&gt;<i> %doc AUTHORS ChangeLog COPYING INSTALL
</I>&gt;<i> %{_includedir}/libindicator3-0.4/libindicator/
</I>&gt;<i> %{_libdir}/libindicator3.so
</I>&gt;<i> %{_libdir}/pkgconfig/indicator3-0.4.pc
</I>&gt;<i> %{_datadir}/libindicator/80indicator-debugging
</I>&gt;<i> 
</I>&gt;<i> #--------------------------------------------------------------------
</I>&gt;<i> %prep
</I>&gt;<i> %setup -q
</I>&gt;<i> 
</I>&gt;<i> %build
</I>&gt;<i> %configure \
</I>&gt;<i>   --disable-static
</I>&gt;<i> %make
</I>&gt;<i> 
</I>&gt;<i> %install
</I>&gt;<i> %makeinstall_std
</I>&gt;<i> 
</I>&gt;<i> # Clean .la files
</I>&gt;<i> find %{buildroot}%{_libdir} -name '*.la' -delete -print
</I>&gt;<i> 
</I>&gt;<i> 
</I>&gt;<i> %changelog
</I>&gt;<i> * Sun Mar 18 2012 Simple &lt;<A HREF="https://www.mageia.org/mailman/listinfo/mageia-dev">simplew8 at gmail.com</A>&gt; 0.4.93-1
</I>&gt;<i> - first package
</I>&gt;<i> 
</I>&gt;<i> 
</I>&gt;<i> virtualgl.spec
</I>&gt;<i> 
</I>&gt;<i> 
</I>&gt;<i> %define oname VirtualGL
</I>&gt;<i> %define libname %mklibname %{name}
</I>&gt;<i> 
</I>&gt;<i> Name:           virtualgl
</I>&gt;<i> Summary:        A toolkit for displaying OpenGL applications to thin clients
</I>&gt;<i> Group:          Networking/Other
</I>&gt;<i> Version:        2.3
</I>&gt;<i> Release:        %mkrel 1
</I>&gt;<i> URL:            <A HREF="http://www.virtualgl.org">http://www.virtualgl.org</A>
</I>&gt;<i> License:        wxWindows Library License v3.1
</I>
Incorrect tag, see license policy as mentioned previously.

&gt;<i> Source0:	<A HREF="http://prdownloads.sourceforge.net/virtualgl/%{oname">http://prdownloads.sourceforge.net/virtualgl/%{oname</A>}-%{version}.tar.gz
</I>&gt;<i> Patch0:		vgl_2.3_patch0
</I>
Please name this properly, and with a .patch extension.

&gt;<i> BuildRequires:	X11-devel
</I>&gt;<i> BuildRequires:	jpeg-devel
</I>&gt;<i> BuildRequires:	cmake
</I>&gt;<i> 
</I>&gt;<i> 
</I>&gt;<i> %description
</I>&gt;<i> VirtualGL is a library which allows most Linux OpenGL applications to be
</I>&gt;<i> remotely displayed to a thin client without the need to alter the
</I>&gt;<i> applications in any way.  VGL inserts itself into an application at run time
</I>&gt;<i> and intercepts a handful of GLX calls, which it reroutes to the server's
</I>&gt;<i> display (which presumably has a 3D accelerator attached.)  This causes all
</I>&gt;<i> 3D rendering to occur on the server's display.  As each frame is rendered
</I>&gt;<i> by the server, VirtualGL reads back the pixels from the server's framebuffer
</I>&gt;<i> and sends them to the client for re-compositing into the appropriate X
</I>&gt;<i> Window.  VirtualGL can be used to give hardware-accelerated 3D capabilities to
</I>&gt;<i> VNC or other remote display environments that lack GLX support.  In a LAN
</I>&gt;<i> environment, it can also be used with its built-in motion-JPEG video delivery
</I>&gt;<i> system to remotely display full-screen 3D applications at 20+ frames/second.
</I>&gt;<i> 
</I>&gt;<i> VirtualGL is based upon ideas presented in various academic papers on
</I>&gt;<i> this topic, including &quot;A Generic Solution for Hardware-Accelerated Remote
</I>&gt;<i> Visualization&quot; (Stegmaier, Magallon, Ertl 2002) and &quot;A Framework for
</I>&gt;<i> Interactive Hardware Accelerated Remote 3D-Visualization&quot; (Engel, Sommer,
</I>&gt;<i> Ertl 2000.)
</I>&gt;<i> 
</I>&gt;<i> %files
</I>&gt;<i> %{_bindir}/*
</I>&gt;<i> %{_defaultdocdir}/%{name}/
</I>
Mark docs as %doc.

&gt;<i> 
</I>&gt;<i> #--------------------------------------------------------------------
</I>&gt;<i> %package -n %libname
</I>&gt;<i> Summary: Libraries injected by VirtualGL into applications that are ran through it
</I>&gt;<i> Group: System/Libraries
</I>&gt;<i> 
</I>&gt;<i> %description -n %libname
</I>&gt;<i> Libraries injected by VirtualGL into applications that are ran throught it. 
</I>&gt;<i> Lib package allow installing 32 and 64 bits libraries at the same time.
</I>&gt;<i> 
</I>&gt;<i> %files -n %libname
</I>&gt;<i> %dir %{_libdir}/fakelib/
</I>&gt;<i> %{_libdir}/fakelib/libGL.so
</I>&gt;<i> %{_libdir}/librrfaker.so
</I>&gt;<i> %{_libdir}/libdlfaker.so
</I>&gt;<i> %{_libdir}/libgefaker.so
</I>
This will need %_provides_exceptions or %_exclude_files_from_autoprov so
that devel(GL) won't be provided. This would confuse the -devel
dependencies of the distribution, and libvirtualgl could sometimes be
installed when libmesagl-devel is intended.

&gt;<i> #--------------------------------------------------------------------
</I>&gt;<i> %package devel
</I>&gt;<i> Summary:	A toolkit for displaying OpenGL applications to thin clients
</I>&gt;<i> Group:		Networking/Other
</I>&gt;<i> Requires:	%{libname} &gt;= %{version}
</I>
Should be '=' AFAICS.

&gt;<i> %description devel
</I>&gt;<i> VirtualGL is a library which allows most Linux OpenGL applications to be
</I>&gt;<i> remotely displayed to a thin client without the need to alter the
</I>&gt;<i> applications in any way.  VGL inserts itself into an application at run
</I>&gt;<i> time and intercepts a handful of GLX calls, which it reroutes to the
</I>&gt;<i> server's display (which presumably has a 3D accelerator attached). This
</I>&gt;<i> causes all 3D rendering to occur on the server's display.  As each frame
</I>&gt;<i> is rendered by the server, VirtualGL reads back the pixels from the
</I>&gt;<i> server's framebuffer and sends them to the client for re-compositing into
</I>&gt;<i> the appropriate X Window. VirtualGL can be used to give hardware-
</I>&gt;<i> -accelerated 3D capabilities to VNC or other remote display environments
</I>&gt;<i> that lack GLX support.  In a LAN environment, it can also be used with
</I>&gt;<i> its built-in motion-JPEG video delivery system to remotely display
</I>&gt;<i> full-screen 3D applications at 20+ frames/second. 
</I>&gt;<i> VirtualGL is based upon ideas presented in various academic papers on
</I>&gt;<i> this topic, including &quot;A Generic Solution for Hardware-Accelerated Remote
</I>&gt;<i> Visualization&quot; (Stegmaier, Magallon, Ertl 2002) and &quot;A Framework for
</I>&gt;<i> Interactive Hardware Accelerated Remote 3D-Visualization&quot; (Engel, Sommer,
</I>&gt;<i> Ertl 2000.)
</I>&gt;<i> 
</I>&gt;<i> %files devel
</I>&gt;<i> %{_includedir}/rrtransport.h
</I>&gt;<i> %{_includedir}/rr.h
</I>&gt;<i> 
</I>&gt;<i> #--------------------------------------------------------------------
</I>&gt;<i> %prep
</I>&gt;<i> %setup -qn %{oname}-%{version}
</I>&gt;<i> %patch0 -p1
</I>&gt;<i> 
</I>&gt;<i> %build
</I>&gt;<i> cmake -G &quot;Unix Makefiles&quot; \
</I>&gt;<i>     -DCMAKE_INSTALL_LIBDIR:PATH=%{_libdir} \
</I>&gt;<i>     -DCMAKE_INSTALL_PREFIX=%{_prefix} \
</I>&gt;<i>     -DVGL_DOCDIR=%{_defaultdocdir}/%{name} \
</I>&gt;<i>     -DVGL_LIBDIR=%{_libdir} \
</I>&gt;<i>     -DTJPEG_INCLUDE_DIR=%{_includedir} \
</I>&gt;<i>     -DTJPEG_LIBRARY=%{_libdir}/libturbojpeg.so
</I>
Should use %cmake.

&gt;<i> %make
</I>&gt;<i> 
</I>&gt;<i> %install
</I>&gt;<i> rm -rf %{buildroot}
</I>&gt;<i> %makeinstall_std
</I>&gt;<i> 
</I>&gt;<i> rm -rf %{buildroot}%{_prefix}/fakelib
</I>&gt;<i> mkdir -p %{buildroot}%{_libdir}/fakelib
</I>&gt;<i> ln -sf ../librrfaker.so %{buildroot}%{_libdir}/fakelib/libGL.so
</I>&gt;<i> mv -f %{buildroot}%{_bindir}/glxinfo %{buildroot}%{_bindir}/glxinfo2
</I>&gt;<i> 
</I>&gt;<i> 
</I>&gt;<i> %changelog
</I>&gt;<i> * Mon Mar 19 2012 Simple &lt;<A HREF="https://www.mageia.org/mailman/listinfo/mageia-dev">simplew8 at gmail.com</A>&gt; 2.3-1
</I>&gt;<i> - first package
</I>&gt;<i> 
</I>

-- 
Anssi Hannula
</PRE>













<!--endarticle-->
    <HR>
    <P><UL>
        <!--threads-->
	<LI>Previous message: <A HREF="014099.html">[Mageia-dev] bumblebee in mageia (and mentoring)
</A></li>
	<LI>Next message: <A HREF="014103.html">[Mageia-dev] bumblebee in mageia (and mentoring)
</A></li>
         <LI> <B>Messages sorted by:</B> 
              <a href="date.html#14102">[ date ]</a>
              <a href="thread.html#14102">[ thread ]</a>
              <a href="subject.html#14102">[ subject ]</a>
              <a href="author.html#14102">[ author ]</a>
         </LI>
       </UL>

<hr>
<a href="https://www.mageia.org/mailman/listinfo/mageia-dev">More information about the Mageia-dev
mailing list</a><br>
</body></html>