Spec URL: http://dcantrel.fedorapeople.org/wicd/wicd.spec SRPM URL: http://dcantrel.fedorapeople.org/wicd/wicd-1.7.0-1.fc13.src.rpm Description: Wicd is designed to give the user as much control over behavior of network connections as possible. Every network, both wired and wireless, has its own profile with its own configuration options and connection behavior. Wicd will try to automatically connect only to networks the user specifies it should try, with a preference first to a wired network, then to wireless. Purpose: Wicd is an alternative to NetworkManager for people who want something like NetworkManager, but not requiring GNOME. It is gaining popularity among non-GNOME users simply because it has multiple clients as opposed to requiring nm-applet for everything. Wicd is written in Python and provides a daemon and three clients (cli, curses, gtk). It is not as full-featured as NetworkManager, but for most people it fits the bill. Especially users wanted to slim down a system or just not run GNOME.
*** This bug has been marked as a duplicate of bug 511204 ***
*** Bug 511204 has been marked as a duplicate of this bug. ***
I believe you should add the python macro to the spec file if you intend to build for F12. https://fedoraproject.org/wiki/Packaging/Python#Macros You don't need the CFLAGS="%{optflags}" as you aren't compiling anything CFLAGS="%{optflags}" %{__python} setup.py configure \ --pmutils %{_libdir}/pm-utils/sleep.d CFLAGS="%{optflags}" %{__python} setup.py build Also the srpm doesn't build on F13 Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/leigh/rpmbuild/BUILDROOT/wicd-1.7.0-1.fc13.x86_64 error: Installed (but unpackaged) file(s) found: /usr/share/autostart/wicd-tray.desktop RPM build errors: user dcantrel does not exist - using root group dcantrel does not exist - using root user dcantrel does not exist - using root group dcantrel does not exist - using root user dcantrel does not exist - using root group dcantrel does not exist - using root File listed twice: /usr/lib/python2.6/site-packages/wicd Installed (but unpackaged) file(s) found: /usr/share/autostart/wicd-tray.desktop This should be changed from %{python_sitelib}/wicd to %dir %{python_sitelib}/wicd %{python_sitelib}/wicd/*
(In reply to comment #3) > I believe you should add the python macro to the spec file if you intend to > build for F12. > > https://fedoraproject.org/wiki/Packaging/Python#Macros Done. I don't plan on building wicd for anything below rawhide right now unless people ask for it, but I figure it doesn't hurt to include these macros in the spec file so people can grab the SRPM and rebuild on their own. I'd just like to get the package in to the distribution now and once we cut F-14 and beyond, we can start including wicd. > You don't need the CFLAGS="%{optflags}" as you aren't compiling anything > > CFLAGS="%{optflags}" %{__python} setup.py configure \ > --pmutils %{_libdir}/pm-utils/sleep.d > CFLAGS="%{optflags}" %{__python} setup.py build Removed. > Also the srpm doesn't build on F13 > > Checking for unpackaged file(s): /usr/lib/rpm/check-files > /home/leigh/rpmbuild/BUILDROOT/wicd-1.7.0-1.fc13.x86_64 > error: Installed (but unpackaged) file(s) found: > /usr/share/autostart/wicd-tray.desktop > > > RPM build errors: > user dcantrel does not exist - using root > group dcantrel does not exist - using root > user dcantrel does not exist - using root > group dcantrel does not exist - using root > user dcantrel does not exist - using root > group dcantrel does not exist - using root > File listed twice: /usr/lib/python2.6/site-packages/wicd > Installed (but unpackaged) file(s) found: > /usr/share/autostart/wicd-tray.desktop Strange. I rebuilt on my local F-13 box and it built fine. I also ran it through as a scratch dist-f13 build in koji: [fedora] dcantrel@mitre wicd$ koji build --scratch dist-f13 wicd-1.7.0-1.fc13.src.rpm Uploading srpm: wicd-1.7.0-1.fc13.src.rpm [====================================] 100% 00:00:06 406.66 KiB 61.06 KiB/sec Created task: 2200401 Task info: http://koji.fedoraproject.org/koji/taskinfo?taskID=2200401 None Watching tasks (this may be safely interrupted)... 2200401 build (dist-f13, wicd-1.7.0-1.fc13.src.rpm): free 2200401 build (dist-f13, wicd-1.7.0-1.fc13.src.rpm): free -> open (ppc06.phx2.fedoraproject.org) 2200403 buildArch (wicd-1.7.0-1.fc13.src.rpm, i686): free 2200402 buildArch (wicd-1.7.0-1.fc13.src.rpm, x86_64): free 2200402 buildArch (wicd-1.7.0-1.fc13.src.rpm, x86_64): free -> open (x86-07.phx2.fedoraproject.org) 2200403 buildArch (wicd-1.7.0-1.fc13.src.rpm, i686): free -> open (x86-03.phx2.fedoraproject.org) 2200402 buildArch (wicd-1.7.0-1.fc13.src.rpm, x86_64): open (x86-07.phx2.fedoraproject.org) -> closed 0 free 2 open 1 done 0 failed 2200403 buildArch (wicd-1.7.0-1.fc13.src.rpm, i686): open (x86-03.phx2.fedoraproject.org) -> closed 0 free 1 open 2 done 0 failed 2200401 build (dist-f13, wicd-1.7.0-1.fc13.src.rpm): open (ppc06.phx2.fedoraproject.org) -> closed 0 free 0 open 3 done 0 failed 2200401 build (dist-f13, wicd-1.7.0-1.fc13.src.rpm) completed successfully > This should be changed from > > %{python_sitelib}/wicd > > to > > %dir %{python_sitelib}/wicd > %{python_sitelib}/wicd/* The %dir line for this directory is already listed near the top of the %files list, but I did change the other line to %{python_sitelib}/wicd/* Thanks for the help! New spec file and SRPM posted: Spec URL: http://dcantrel.fedorapeople.org/wicd/wicd.spec SRPM URL: http://dcantrel.fedorapeople.org/wicd/wicd-1.7.0-1.fc13.src.rpm
(In reply to comment #4) > (In reply to comment #3) > > I believe you should add the python macro to the spec file if you intend to > > build for F12. > > > > https://fedoraproject.org/wiki/Packaging/Python#Macros > Done. I don't plan on building wicd for anything below rawhide right now > unless people ask for it, but I figure it doesn't hurt to include these macros > in the spec file so people can grab the SRPM and rebuild on their own. I'd > just like to get the package in to the distribution now and once we cut F-14 > and beyond, we can start including wicd. Do you mind me to maintain wicd for F13 and EPEL6? I think we have much more F13 users than rawhide:) .
You will need to add some scriptlets for the gtk package. %files gtk %{_datadir}/icons/hicolor https://fedoraproject.org/wiki/Packaging/ScriptletSnippets#Icon_Cache %post gtk touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : %postun gtk if [ $1 -eq 0 ] ; then touch --no-create %{_datadir}/icons/hicolor &>/dev/null gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : fi %posttrans gtk gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : The desktop file also has a depreciated error + desktop-file-validate /home/leigh/rpmbuild/BUILDROOT/wicd-1.7.0-1.fc13.x86_64/usr/share/applications/wicd.desktop /home/leigh/rpmbuild/BUILDROOT/wicd-1.7.0-1.fc13.x86_64/usr/share/applications/wicd.desktop: warning: value "Application;Network;" for key "Categories" in group "Desktop Entry" contains a deprecated value "Application" + /usr/lib/rpm/find-lang.sh /home/leigh/rpmbuild/BUILDROOT/wicd-1.7.0-1.fc13.x86_64 wicd Change desktop-file-validate %{buildroot}%{_datadir}/applications/wicd.desktop To desktop-file-install \ --remove-category="Application" \ --delete-original \ --dir=%{buildroot}%{_datadir}/applications \ %{buildroot}/%{_datadir}/applications/wicd.desktop Your spec file doesn't have a buildroot tag https://fedoraproject.org/wiki/Packaging:Guidelines#BuildRoot_tag rpmlint /wicd-1.7.0-1.fc13.src.rpm wicd.src: W: spelling-error %description -l en_US cli -> cl, clii, clip wicd.src: W: spelling-error %description -l en_US frontend -> fronted, front end, front-end wicd.src: W: no-buildroot-tag 1 packages and 0 specfiles checked; 0 errors, 3 warnings. I believe you need to add some init scriptlets https://fedoraproject.org/wiki/Packaging/SysVInitScript rpmlint wicd-1.7.0-1.fc13.x86_64.rpm wicd.x86_64: E: init-script-without-chkconfig-postin /etc/rc.d/init.d/wicd wicd.x86_64: E: init-script-without-chkconfig-preun /etc/rc.d/init.d/wicd Requires(post): chkconfig Requires(preun): chkconfig # This is for /sbin/service Requires(preun): initscripts ... %post if [ "$1" == "1" ]; then /sbin/chkconfig --add wicd /sbin/chkconfig --level 2345 wicd on fi %preun if [ $1 -eq 0 ]; then /sbin/service wicd stop >/dev/null 2>&1 /sbin/chkconfig --del wicd fi You may need to add this as well, but I'm not familiar with init scripts # This is for /sbin/service Requires(postun): initscripts ... %postun if [ "$1" -ge "1" ] ; then /sbin/service wicd condrestart >/dev/null 2>&1 || : fi You also have a lot of shebangs https://fedoraproject.org/wiki/Packaging_tricks#Remove_shebang_from_files wicd.x86_64: E: non-executable-script /usr/lib/python2.6/site-packages/wicd/backend.py 0644L /usr/bin/env wicd.x86_64: E: non-executable-script /usr/lib/python2.6/site-packages/wicd/wnettools.py 0644L /usr/bin/env wicd.x86_64: E: non-executable-script /usr/lib/python2.6/site-packages/wicd/networking.py 0644L /usr/bin/env wicd.x86_64: E: non-executable-script /usr/share/wicd/daemon/wicd-daemon.py 0644L /usr/bin/env wicd.x86_64: E: non-executable-script /usr/lib/python2.6/site-packages/wicd/dbusmanager.py 0644L /usr/bin/env wicd.x86_64: E: non-executable-script /usr/lib/python2.6/site-packages/wicd/configmanager.py 0644L /usr/bin/env wicd.x86_64: E: non-executable-script /usr/share/wicd/backends/be-external.py 0644L /usr/bin/env wicd.x86_64: E: non-executable-script /usr/share/wicd/backends/be-ioctl.py 0644L /usr/bin/env wicd.x86_64: E: non-executable-script /usr/lib/python2.6/site-packages/wicd/logfile.py 0644L /usr/bin/python wicd.x86_64: E: wrong-script-end-of-line-encoding /usr/lib/python2.6/site-packages/wicd/logfile.py wicd.x86_64: E: executable-marked-as-config-file /etc/acpi/resume.d/80-wicd-connect.sh wicd.x86_64: E: non-executable-script /usr/lib/python2.6/site-packages/wicd/translations.py 0644L /usr/bin/env They can be fixed by adding this to the spec file for lib in %{buildroot}%{python_sitelib}/wicd/*.py; do sed '/\/usr\/bin\/env/d' $lib > $lib.new && touch -r $lib $lib.new && mv $lib.new $lib done The debug package is empty (no surprise there) rpmlint '/home/leigh/Desktop/wicd-debuginfo-1.7.0-1.fc13.x86_64.rpm' wicd-debuginfo.x86_64: E: empty-debuginfo-package 1 packages and 0 specfiles checked; 1 errors, 0 warnings. Add this to disable the debug package %define debug_package %{nil}
I believe you should also validate the autostart desktop file. desktop-file-install \ --dir %{buildroot}%{_sysconfdir}/xdg/autostart \ %{buildroot}%{_sysconfdir}/xdg/autostart/wicd-tray.desktop
I have updated the spec file and SRPM addressing all of the issues in comments 6 and 7. One concernq: The wicd service cannot be running at the same time as NetworkManager. I am not sure how to best handle that, which is one reason I did not add in the scriptlets for the init scripts the first time. It is technically possible to have both NetworkManager and wicd installed at the same time, but you can only run one at a time. I imagine some people may want to have both installed and retain the ability to switch over to the other one without needing to uninstall one package and install another. The scriptlets for the wicd init script are fine, but I think if the package has that, it will need to also disable NetworkManager if installed or prevent the concurrent installation of both NetworkManager and wicd. Chen, I have no problems adding wicd to F-13 and EPEL-6. I will make sure to request those branches when the review is completed. I will add you as a maintainer for those branches too. New spec file and SRPM: http://dcantrel.fedorapeople.org/wicd/wicd.spec http://dcantrel.fedorapeople.org/wicd/wicd-1.7.0-1.fc13.src.rpm Thanks for all the review feedback!
You are not to disable NetworkManager or even to turn on wicd by default, see https://fedoraproject.org/wiki/Packaging/SysVInitScript#Why_don.27t_we.... You are already making 3 packages. Why not make a 4th one for the pm-utils scripts so that all the other stuff can be noarch as it should? How about naming the base package wicd-common instead of just wicd? The common indicated that it's not the full wicd package but just shared files between other packages. You should pass more options to configure, at least --distro=redhat. I think other options like --share or --lib should be passed as well, then somebody can build the package with rpmbuild --rebuild --define=_datadir /foo/shared. Please don't specify the extension of manpages. Imagine we switch from gz to bz2. The files in %{_datadir}/man/nl must be tagged with %lang(nl) The package must not own %{_datadir}/icons/hicolor and folders below. It only should own the icons. For directory ownership you can require hicolor-icon-theme, but this is not needed as it is already required by gtk2 (through pygtk2) %dir %{_datadir}/wicd/curses %{_datadir}/wicd/curses/* is the same as %{_datadir}/wicd/ Using %dir here only makes sense if you want to exclude certain files (because they should go into another package). %{_sysconfdir}/xdg/autostart/wicd-tray.desktop is not a config file. Changes are made in the private ~/.config/autostart namespace.
There is a problem here, it can't own this directory as it belongs to hicolor-icon-theme (the others listed are due to bad packaging) %dir %{_datadir}/icons/hicolor [leigh@localhost Desktop]$ rpm -qf /usr/share/icons/hicolor hicolor-icon-theme-0.12-1.fc13.noarch krb5-auth-dialog-0.15-1.fc13.x86_64 fedora-logos-13.0.2-1.fc13.noarch setroubleshoot-2.2.83-1.fc13.x86_64 [leigh@localhost Desktop]$ Change it from %files gtk %defattr(-,root,root,-) %dir %{_datadir}/wicd/gtk %dir %{_datadir}/pixmaps/wicd %dir %{_datadir}/icons/hicolor %config(noreplace) %{_sysconfdir}/xdg/autostart/wicd-tray.desktop %{_datadir}/wicd/gtk/* %{_datadir}/pixmaps/wicd/* %{_datadir}/pixmaps/wicd-gtk.xpm %{_bindir}/wicd-gtk %{_datadir}/icons/hicolor to %files gtk %defattr(-,root,root,-) %dir %{_datadir}/wicd/gtk %dir %{_datadir}/pixmaps/wicd %config(noreplace) %{_sysconfdir}/xdg/autostart/wicd-tray.desktop %{_datadir}/wicd/gtk/* %{_datadir}/pixmaps/wicd/* %{_datadir}/pixmaps/wicd-gtk.xpm %{_bindir}/wicd-gtk %{_datadir}/icons/hicolor/*/apps/wicd-gtk.png %{_datadir}/icons/hicolor/scalable/apps/wicd-gtk.svg There are still some rpmlint errors that need correcting ( mainly shebangs ) wicd.src: W: spelling-error %description -l en_US cli -> cl, clii, clip wicd.src: W: spelling-error %description -l en_US frontend -> fronted, front end, front-end wicd.x86_64: E: explicit-lib-dependency dbus-glib wicd.x86_64: W: spelling-error %description -l en_US frontend -> fronted, front end, front-end wicd.x86_64: E: no-binary wicd.x86_64: E: executable-marked-as-config-file /etc/acpi/suspend.d/50-wicd-suspend.sh wicd.x86_64: E: non-executable-script /usr/share/wicd/cli/wicd-cli.py 0644L /usr/bin/python wicd.x86_64: E: non-executable-script /usr/share/wicd/daemon/wicd-daemon.py 0644L /usr/bin/env wicd.x86_64: E: non-executable-script /usr/share/wicd/backends/be-external.py 0644L /usr/bin/env wicd.x86_64: E: non-executable-script /usr/share/wicd/backends/be-ioctl.py 0644L /usr/bin/env wicd.x86_64: E: non-executable-script /usr/lib/python2.6/site-packages/wicd/logfile.py 0644L /usr/bin/python wicd.x86_64: E: wrong-script-end-of-line-encoding /usr/lib/python2.6/site-packages/wicd/logfile.py wicd.x86_64: E: executable-marked-as-config-file /etc/acpi/resume.d/80-wicd-connect.sh wicd.x86_64: W: log-files-without-logrotate /var/log/wicd wicd-curses.x86_64: E: non-executable-script /usr/share/wicd/curses/curses_misc.py 0644L /usr/bin/env wicd-curses.x86_64: E: non-executable-script /usr/share/wicd/curses/netentry_curses.py 0644L /usr/bin/env wicd-curses.x86_64: E: non-executable-script /usr/share/wicd/curses/prefs_curses.py 0644L /usr/bin/env wicd-gtk.x86_64: W: no-documentation wicd-gtk.x86_64: E: non-executable-script /usr/share/wicd/gtk/gui.py 0644L /usr/bin/python wicd-gtk.x86_64: E: non-executable-script /usr/share/wicd/gtk/prefs.py 0644L /usr/bin/python wicd-gtk.x86_64: E: non-executable-script /usr/share/wicd/gtk/wicd-client.py 0644L /usr/bin/env 4 packages and 0 specfiles checked; 16 errors, 5 warnings. As for the networkmanager issue, would this work? %post if [ $1 -eq 1 ]; then /sbin/chkconfig --add wicd /sbin/chkconfig --level 2345 wicd on /sbin/chkconfig --level 2345 NetworkManager off /sbin/service NetworkManager stop >/dev/null 2>&1 fi %preun if [ $1 -eq 0 ]; then /sbin/service wicd stop >/dev/null 2>&1 /sbin/chkconfig --del wicd /sbin/chkconfig --level 2345 NetworkManager on /sbin/service NetworkManager start >/dev/null 2>&1 fi
(In reply to comment #9) > You are not to disable NetworkManager or even to turn on wicd by default, see > https://fedoraproject.org/wiki/Packaging/SysVInitScript#Why_don.27t_we.... > I didn't know that, thanks for the info
(In reply to comment #9) > You are not to disable NetworkManager or even to turn on wicd by default, see > https://fedoraproject.org/wiki/Packaging/SysVInitScript#Why_don.27t_we.... I've removed the line that did the chkconfig on for wicd. > You are already making 3 packages. Why not make a 4th one for the pm-utils > scripts so that all the other stuff can be noarch as it should? > > How about naming the base package wicd-common instead of just wicd? The common > indicated that it's not the full wicd package but just shared files between > other packages. Good idea. I have implemented what I think is a nice way to accomplish this split in the packages. First, I do want to keep a package named 'wicd' because that's what the software is called and I think at least one package should be named wicd. Second, having some noarch packages and some arch packages built from one spec file becomes difficult to manage, so here's how I split things: 1) The 'wicd' package contains the architecture dependent parts of wicd, which is limited to the pm-utils script right now. This could change as wicd gains more functionality. 2) The 'wicd-common' package contains what was in the wicd package: the daemon, command line client, lang files, and docs. 3) The 'wicd' and 'wicd-common' packages require each other, so you will always need to have both installed. If we want to, I could drop the requirement from wicd-common so that people could have wicd-common installed without the arch-dependent wicd package. This effectively splits things in to arch/noarch pieces and keeps a package named 'wicd'. > You should pass more options to configure, at least --distro=redhat. I think > other options like --share or --lib should be passed as well, then somebody can > build the package with rpmbuild --rebuild --define=_datadir /foo/shared. Changed. > Please don't specify the extension of manpages. Imagine we switch from gz to > bz2. Changed. > The files in %{_datadir}/man/nl must be tagged with %lang(nl) Changed. > The package must not own %{_datadir}/icons/hicolor and folders below. It only > should own the icons. For directory ownership you can require > hicolor-icon-theme, but this is not needed as it is already required by gtk2 > (through pygtk2) Changed. > %dir %{_datadir}/wicd/curses > %{_datadir}/wicd/curses/* > is the same as > %{_datadir}/wicd/ > Using %dir here only makes sense if you want to exclude certain files (because > they should go into another package). Changed. > %{_sysconfdir}/xdg/autostart/wicd-tray.desktop is not a config file. Changes > are made in the private ~/.config/autostart namespace. Changed. New spec file and SRPM: http://dcantrel.fedorapeople.org/wicd/wicd.spec http://dcantrel.fedorapeople.org/wicd/wicd-1.7.0-1.fc13.src.rpm Thanks for all the review feedback!
Any update on this package review?
(In reply to comment #13) > Any update on this package review? You still need to fix most of these rpmlint errors. [leigh@localhost Desktop]$ rpmlint /home/leigh/rpmbuild/RPMS/x86_64/wicd-1.7.0-1.fc13.x86_64.rpm wicd.x86_64: E: explicit-lib-dependency dbus-glib wicd.x86_64: E: no-binary wicd.x86_64: W: only-non-binary-in-usr-lib wicd.x86_64: W: no-documentation 1 packages and 0 specfiles checked; 2 errors, 2 warnings. [leigh@localhost Desktop]$ rpmlint /home/leigh/rpmbuild/RPMS/noarch/wicd-common-1.7.0-1.fc13.noarch.rpm wicd-common.noarch: W: spelling-error %description -l en_US frontend -> fronted, front end, front-end wicd-common.noarch: E: executable-marked-as-config-file /etc/acpi/suspend.d/50-wicd-suspend.sh wicd-common.noarch: E: non-executable-script /usr/share/wicd/cli/wicd-cli.py 0644L /usr/bin/python wicd-common.noarch: E: non-executable-script /usr/share/wicd/daemon/wicd-daemon.py 0644L /usr/bin/env wicd-common.noarch: E: non-executable-script /usr/share/wicd/backends/be-external.py 0644L /usr/bin/env wicd-common.noarch: E: non-executable-script /usr/share/wicd/backends/be-ioctl.py 0644L /usr/bin/env wicd-common.noarch: E: non-executable-script /usr/lib/python2.6/site-packages/wicd/logfile.py 0644L /usr/bin/python wicd-common.noarch: E: wrong-script-end-of-line-encoding /usr/lib/python2.6/site-packages/wicd/logfile.py wicd-common.noarch: E: executable-marked-as-config-file /etc/acpi/resume.d/80-wicd-connect.sh wicd-common.noarch: W: log-files-without-logrotate /var/log/wicd wicd-common.noarch: E: init-script-without-chkconfig-postin /etc/rc.d/init.d/wicd wicd-common.noarch: E: init-script-without-chkconfig-preun /etc/rc.d/init.d/wicd wicd-common.noarch: W: incoherent-init-script-name wicd ('wicd-common', 'wicd-commond') 1 packages and 0 specfiles checked; 10 errors, 3 warnings. [leigh@localhost Desktop]$ rpmlint /home/leigh/rpmbuild/RPMS/noarch/wicd-curses-1.7.0-1.fc13.noarch.rpm wicd-curses.noarch: E: non-executable-script /usr/share/wicd/curses/curses_misc.py 0644L /usr/bin/env wicd-curses.noarch: E: non-executable-script /usr/share/wicd/curses/netentry_curses.py 0644L /usr/bin/env wicd-curses.noarch: E: non-executable-script /usr/share/wicd/curses/prefs_curses.py 0644L /usr/bin/env 1 packages and 0 specfiles checked; 3 errors, 0 warnings. [leigh@localhost Desktop]$ rpmlint /home/leigh/rpmbuild/RPMS/noarch/wicd-gtk-1.7.0-1.fc13.noarch.rpm wicd-gtk.noarch: W: no-documentation wicd-gtk.noarch: E: non-executable-script /usr/share/wicd/gtk/prefs.py 0644L /usr/bin/python wicd-gtk.noarch: W: non-conffile-in-etc /etc/xdg/autostart/wicd-tray.desktop wicd-gtk.noarch: E: non-executable-script /usr/share/wicd/gtk/wicd-client.py 0644L /usr/bin/env wicd-gtk.noarch: E: non-executable-script /usr/share/wicd/gtk/gui.py 0644L /usr/bin/python 1 packages and 0 specfiles checked; 3 errors, 2 warnings. [leigh@localhost Desktop]$
Created attachment 417101 [details] Fix --share --share needs to point to the wicd share, otherwise the helper scripts like /usr/bin/wicd-cli point to the wrong location.
(In reply to comment #14) > wicd.x86_64: E: explicit-lib-dependency dbus-glib Fixed. > wicd.x86_64: E: no-binary > wicd.x86_64: W: only-non-binary-in-usr-lib This can't change as the only arch-dependent component of wicd at the moment is the pm-utils script. And since the pm-utils package is arch-dependent, this package has to be. > wicd.x86_64: W: no-documentation Fixed. > [leigh@localhost Desktop]$ rpmlint > /home/leigh/rpmbuild/RPMS/noarch/wicd-common-1.7.0-1.fc13.noarch.rpm > wicd-common.noarch: W: spelling-error %description -l en_US frontend -> > fronted, front end, front-end Fixed. > wicd-common.noarch: E: executable-marked-as-config-file > /etc/acpi/suspend.d/50-wicd-suspend.sh Fixed. > wicd-common.noarch: E: non-executable-script /usr/share/wicd/cli/wicd-cli.py > 0644L /usr/bin/python > wicd-common.noarch: E: non-executable-script > /usr/share/wicd/daemon/wicd-daemon.py 0644L /usr/bin/env > wicd-common.noarch: E: non-executable-script > /usr/share/wicd/backends/be-external.py 0644L /usr/bin/env > wicd-common.noarch: E: non-executable-script > /usr/share/wicd/backends/be-ioctl.py 0644L /usr/bin/env > wicd-common.noarch: E: non-executable-script Fixed. > /usr/lib/python2.6/site-packages/wicd/logfile.py 0644L /usr/bin/python > wicd-common.noarch: E: wrong-script-end-of-line-encoding Fixed. > /usr/lib/python2.6/site-packages/wicd/logfile.py > wicd-common.noarch: E: executable-marked-as-config-file > /etc/acpi/resume.d/80-wicd-connect.sh Fixed. > wicd-common.noarch: W: log-files-without-logrotate /var/log/wicd Fixed, but now rpmlint complains because the logrotate file is /etc/logrotate.d/wicd instead of /etc/logrotate.d/wicd-common. Given that the service name is 'wicd' and the log file will be /var/log/wicd.log, I figured this is a better logrotate file name than wicd-common. I could move the logrotate component to the wicd package to suppress this message, let me know. > wicd-common.noarch: E: init-script-without-chkconfig-postin > /etc/rc.d/init.d/wicd > wicd-common.noarch: E: init-script-without-chkconfig-preun > /etc/rc.d/init.d/wicd Fixed. > wicd-common.noarch: W: incoherent-init-script-name wicd ('wicd-common', > 'wicd-commond') This one should be ignored as the service name is wicd, but since it's in the group of noarch files, I put it in the wicd-common package. I could move it to the wicd package, but then it would sit alone without the rest of the Python code. I suppose I don't mind either way, just let me know. > wicd-curses.noarch: E: non-executable-script > /usr/share/wicd/curses/curses_misc.py 0644L /usr/bin/env > wicd-curses.noarch: E: non-executable-script > /usr/share/wicd/curses/netentry_curses.py 0644L /usr/bin/env > wicd-curses.noarch: E: non-executable-script > /usr/share/wicd/curses/prefs_curses.py 0644L /usr/bin/env Fixed. > /home/leigh/rpmbuild/RPMS/noarch/wicd-gtk-1.7.0-1.fc13.noarch.rpm > wicd-gtk.noarch: W: no-documentation The documentation is in the main wicd package. > wicd-gtk.noarch: E: non-executable-script /usr/share/wicd/gtk/prefs.py 0644L > /usr/bin/python Fixed. > wicd-gtk.noarch: W: non-conffile-in-etc /etc/xdg/autostart/wicd-tray.desktop I think this is ok. NetworkManager's spec file lists: %{_sysconfdir}/xdg/autostart/nm-applet.desktop If I need to mark it as a config file, let me know. > wicd-gtk.noarch: E: non-executable-script /usr/share/wicd/gtk/wicd-client.py > 0644L /usr/bin/env > wicd-gtk.noarch: E: non-executable-script /usr/share/wicd/gtk/gui.py 0644L > /usr/bin/python Fixed. Thanks for the review feedback! New spec and srpm: http://dcantrel.fedorapeople.org/wicd/wicd.spec http://dcantrel.fedorapeople.org/wicd/wicd-1.7.0-1.fc13.src.rpm
Hi David, I believe you have made a mistake making the .py file executable, I believe the correct way to deal with these .py file is to remove the shebang (I could be wrong, perhaps a more experienced packager could confirm this). http://dl.dropbox.com/u/6907158/wicd.spec Thanks Leigh
I am getting some selinux noise. https://bugzilla.redhat.com/show_bug.cgi?id=596982
And this. Summary: SELinux is preventing /sbin/consoletype "append" access to /var/log/wicd.log. Detailed Description: [consoletype has a permissive type (consoletype_t). This access was not denied.] SELinux denied access requested by consoletype. /var/log/wicd.log may be a mislabeled. /var/log/wicd.log default SELinux type is var_log_t, but its current type is NetworkManager_log_t. Changing this file back to the default type, may fix your problem. File contexts can be assigned to a file in the following ways. * Files created in a directory receive the file context of the parent directory by default. * The SELinux policy might override the default label inherited from the parent directory by specifying a process running in context A which creates a file in a directory labeled B will instead create the file with label C. An example of this would be the dhcp client running with the dhclient_t type and creating a file in the directory /etc. This file would normally receive the etc_t type due to parental inheritance but instead the file is labeled with the net_conf_t type because the SELinux policy specifies this. * Users can change the file context on a file using tools such as chcon, or restorecon. This file could have been mislabeled either by user error, or if an normally confined application was run under the wrong domain. However, this might also indicate a bug in SELinux because the file should not have been labeled with this type. If you believe this is a bug, please file a bug report against this package. Allowing Access: You can restore the default system context to this file by executing the restorecon command. restorecon '/var/log/wicd.log', if this file is a directory, you can recursively restore using restorecon -R '/var/log/wicd.log'. Fix Command: /sbin/restorecon '/var/log/wicd.log' Additional Information: Source Context system_u:system_r:consoletype_t:s0 Target Context system_u:object_r:NetworkManager_log_t:s0 Target Objects /var/log/wicd.log [ file ] Source consoletype Source Path /sbin/consoletype Port <Unknown> Host localhost.localdomain Source RPM Packages initscripts-9.12-1.fc13 Target RPM Packages Policy RPM selinux-policy-3.7.19-15.fc13 Selinux Enabled True Policy Type targeted Enforcing Mode Enforcing Plugin Name restorecon Host Name localhost.localdomain Platform Linux localhost.localdomain 2.6.33.4-95.fc13.x86_64 #1 SMP Thu May 13 05:16:23 UTC 2010 x86_64 x86_64 Alert Count 3 First Seen Thu 27 May 2010 21:47:18 BST Last Seen Thu 27 May 2010 21:48:04 BST Local ID 982f2b67-8dc4-4393-8355-c661686d7d85 Line Numbers Raw Audit Messages node=localhost.localdomain type=AVC msg=audit(1274993284.87:235): avc: denied { append } for pid=7110 comm="consoletype" path="/var/log/wicd.log" dev=sdd3 ino=310527 scontext=system_u:system_r:consoletype_t:s0 tcontext=system_u:object_r:NetworkManager_log_t:s0 tclass=file node=localhost.localdomain type=SYSCALL msg=audit(1274993284.87:235): arch=c000003e syscall=59 success=yes exit=0 a0=ce4bf0 a1=ce32a0 a2=ce1470 a3=10 items=0 ppid=7109 pid=7110 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295 comm="consoletype" exe="/sbin/consoletype" subj=system_u:system_r:consoletype_t:s0 key=(null)
(In reply to comment #17) > I believe the > correct way to deal with these .py file is to remove the shebang (I could be > wrong, perhaps a more experienced packager could confirm this). Right. BTW: There are missing Requires for pm-utils (for dorectory ownership), pygtk2-libglade (instead of pygtk2) and ethtool.
(In reply to comment #20) > (In reply to comment #17) > > I believe the > > correct way to deal with these .py file is to remove the shebang (I could be > > wrong, perhaps a more experienced packager could confirm this). > Right. > BTW: There are missing Requires for pm-utils (for dorectory ownership), > pygtk2-libglade (instead of pygtk2) and ethtool. Installation of Wicd should be done using your distribution package if one exists. If not, the installation is relatively straightforward, but there are a few dependencies: 1. python (>=2.4, <3.0) 2. pygtk (>=2.10) 2. dbus and its glib and python bindings 3. a dhcp client (dhclient, dhcpcd, and pump are supported) 4. wireless-tools (iwlist, iwconfig, etcetera) 5. net-tools (ip, route, etcetera) 6. a graphical sudo application (gksu, kdesu, and ktsuss are supported), while optional, is strongly recommended 7. urwid (if you want to use the curses client - needs version >=0.9.8.3) 8. pm-utils (optional for suspend/resume integration) Wicd supports using versions >=1.2.4 -- earlier versions may work just fine, but they are completely unsupported here. It seems pm-utils is optional for wicd, also %{_libdir}/pm-utils/sleep.d is owned by filesystem. I found that iproute and ethtool are alternatives for net-tools, is those dependencies are really needed? See http://packages.debian.org/sid/wicd-daemon I also wonder whether those acpid scripts are need for fedora, thing we now have pm-utils. %files common -f %{name}.lang %{_sysconfdir}/acpi/resume.d/80-wicd-connect.sh %{_sysconfdir}/acpi/suspend.d/50-wicd-suspend.sh
I think the logrotate source file should be named wicd-logrotate to avoid potential conflicts with other files in the ~/rpmbuild/SOURCE/ directory.
I've updated the spec file with the latest comments. Changes: 1) I renamed the logrotate source file to wicd.logrotate per comment #22. This is really only a niceness things for people doing local rpmbuilds as it won't matter when the package is built in koji since each package is built in a new mock buildroot. 2) pm-utils >= 1.2.4 was already required by the main wicd package (comment #20). But based on comment #21, I am ok with removing this requirement since the directory is owned by filesystem and not requiring pm-utils would allow users to disable the pm-utils functionality in wicd based on whether or not pm-utils is installed. Let me know. 3) The spec file now requires ethtool for wicd-common and was already requiring iproute and net-tools. Despite the fact that Debian says ethtool and iproute are alternatives to net-tools, I don't mind requiring them all because it seems like something wicd is very likely to change in future releases since the program functions primarily based on parsing output of these commands. These are all core packages that people are almost definitely going to have on their system anyway. 4) I have corrected the Python she-bang problem per comment #17. 5) The wicd-gtk package requires pygtk2-libglade instead of pygtk2. 6) I do not feel the acpi scripts are necessary, so I did not include them. The pm-utils package provides that functionality for us in Fedora. 7) I am pretty sure there is nothing I can do about the SELinux noise you are seeing. I think the SELinux policy will have to change for that. Thanks for the review feedback! New spec and srpm uploaded: http://dcantrel.fedorapeople.org/wicd/wicd.spec http://dcantrel.fedorapeople.org/wicd/wicd-1.7.0-1.fc13.src.rpm
Created attachment 417799 [details] Fix $retval in init.d/wicd $retval should be $RETVAL in /etc/init.d/wicd
Fixed the init script (and reported upstream as https://bugs.launchpad.net/wicd/+bug/587690) New spec and srpm uploaded: http://dcantrel.fedorapeople.org/wicd/wicd.spec http://dcantrel.fedorapeople.org/wicd/wicd-1.7.0-1.fc13.src.rpm
Review updates?
Please don't ask me, I'm not the reviewer of the package and I am very busy ATM. I wont be able to look at this before this weekend - if at all. Sorry. :(
Sorry, I asked you because you had followed the other wicd review request and had asked to be informed about this one. Anyone else then? Lots of people providing review feedback, just wanting to know if there is anything else to do on this package.
I have noticed another error Change %files curses %defattr(-,root,root,-) %{_datadir}/wicd/curses %{_bindir}/wicd-curses %{_datadir}/man/man8/wicd-curses.8* %lang(nl) %{_datadir}/man/nl/man8/wicd-curses.8* To %files curses %defattr(-,root,root,-) %dir %{_datadir}/wicd/curses %{_datadir}/wicd/curses/* %{_bindir}/wicd-curses %{_datadir}/man/man8/wicd-curses.8* %lang(nl) %{_datadir}/man/nl/man8/wicd-curses.8*
Fixed the curses %files list. New spec and srpm uploaded: http://dcantrel.fedorapeople.org/wicd/wicd.spec http://dcantrel.fedorapeople.org/wicd/wicd-1.7.0-1.fc13.src.rpm
Package Review ============== Key: - = N/A x = Check ! = Problem ? = Not evaluated === REQUIRED ITEMS === [x] Package is named according to the Package Naming Guidelines. [x] Spec file name must match the base package %{name}, in the format %{name}.spec. [x] Package meets the Packaging Guidelines. [x] Package successfully compiles and builds into binary rpms on at least one supported architecture. Tested on: F13 x86_64 [x] Rpmlint output: rpmlint wicd-1.7.0-1.fc13.src.rpm 1 packages and 0 specfiles checked; 0 errors, 0 warnings. rpmlint wicd-1.7.0-1.fc13.x86_64.rpm wicd.x86_64: E: no-binary wicd.x86_64: W: only-non-binary-in-usr-lib 1 packages and 0 specfiles checked; 1 errors, 1 warnings. rpmlint wicd-common-1.7.0-1.fc13.noarch.rpm wicd-common.noarch: E: incoherent-logrotate-file /etc/logrotate.d/wicd wicd-common.noarch: W: incoherent-init-script-name wicd ('wicd-common', 'wicd-commond') 1 packages and 0 specfiles checked; 1 errors, 1 warnings. rpmlint wicd-curses-1.7.0-1.fc13.noarch.rpm 1 packages and 0 specfiles checked; 0 errors, 0 warnings. rpmlint wicd-gtk-1.7.0-1.fc13.noarch.rpm wicd-gtk.noarch: W: no-documentation wicd-gtk.noarch: W: non-conffile-in-etc /etc/xdg/autostart/wicd-tray.desktop wicd-gtk.noarch: W: no-manual-page-for-binary wicd-gtk 1 packages and 0 specfiles checked; 0 errors, 3 warnings. [x] Package is not relocatable. [x] Buildroot is correct (%{_tmppath}/%{name}-%{version}-%{release}-root-%(id -u -n)) [x] Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [x] License field in the package spec file matches the actual license. License type: GPLv2+ [x] If (and only if) the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package is included in %doc. [x] Spec file is legible and written in American English. [x] Sources used to build the package matches the upstream source, as provided in the spec URL. MD5SUM this package : 7e5956891d6696b6185baa7f5dc70c56 wicd-1.7.0.tar.bz2 MD5SUM upstream package: 7e5956891d6696b6185baa7f5dc70c56 wicd-1.7.0.tar.bz2 [x] Package is not known to require ExcludeArch, OR: Arches excluded: Why: [x] All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. [x] The spec file handles locales properly. [x] ldconfig called in %post and %postun if required. [x] Package must own all directories that it creates. [x] Package requires other packages for directories it uses. [x] Package does not contain duplicates in %files. [x] Permissions on files are set properly. [x] Package has a %clean section, which contains rm -rf %{buildroot} (or $RPM_BUILD_ROOT). [x] Package consistently uses macros. [x] Package contains code, or permissable content. [-] Large documentation files are in a -doc subpackage, if required. [x] Package uses nothing in %doc for runtime. [-] Header files in -devel subpackage, if present. [-] Static libraries in -devel subpackage, if present. [-] Package requires pkgconfig, if .pc files are present. [-] Development .so files in -devel subpackage, if present. [x] Fully versioned dependency in subpackages, if present. [x] Package does not contain any libtool archives (.la). [x] Package contains a properly installed %{name}.desktop file if it is a GUI application. [x] Package does not own files or directories owned by other packages. === SUGGESTED ITEMS === [x] Latest version is packaged. [x] Package does not include license text files separate from upstream. [-] Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [x] Reviewer should test that the package builds in mock. Tested on: http://koji.fedoraproject.org/koji/taskinfo?taskID=2250049 [x] Package should compile and build into binary rpms on all supported architectures. Tested on: i686 & x86_64 [x] Package functions as described. [x] Scriptlets must be sane, if used. [-] The placement of pkgconfig(.pc) files are correct. [x] File based requires are sane. ================ *** APPROVED *** ================
New Package CVS Request ======================= Package Name: wicd Short Description: Wireless and wired network connection manager Owners: dcantrel Branches: F-13 EL-6 InitialCC:
I am very sorry about not helping out in this review but only critizising. However there is still one thing I'd like to see changed: The wicd binary package should IMO be renamed to wicd-pm-utils or alike to avoid confusion. It is perfectly fine to have a %{name}.src.rpm that does not create a %{name}.%{arch}rpm but only subpackages with different names.
(In reply to comment #33) > I am very sorry about not helping out in this review but only critizising. > However there is still one thing I'd like to see changed: The wicd binary > package should IMO be renamed to wicd-pm-utils or alike to avoid confusion. It > is perfectly fine to have a %{name}.src.rpm that does not create a > %{name}.%{arch}rpm but only subpackages with different names. Is it acceptable to merge wicd-common into wicd package until rpm allow noarch package to have arch specfic subpackages? Wicd is designed as a non-multiarch package, making it noarch won't save space for both repos and end users currently.
(In reply to comment #32) > New Package CVS Request > ======================= > Package Name: wicd > Short Description: Wireless and wired network connection manager > Owners: dcantrel > Branches: F-13 EL-6 > InitialCC: Is there any reason why you can't include the F-12 branch? (it isn't EOL for another 6 months.)
(In reply to comment #35) > (In reply to comment #32) > > New Package CVS Request > > ======================= > > Package Name: wicd > > Short Description: Wireless and wired network connection manager > > Owners: dcantrel > > Branches: F-13 EL-6 > > InitialCC: > > Is there any reason why you can't include the F-12 branch? (it isn't EOL for > another 6 months.) No reason, just forgot to include it in the list.
New Package CVS Request ======================= Package Name: wicd Short Description: Wireless and wired network connection manager Owners: dcantrel Branches: F-12 F-13 EL-6 InitialCC:
(In reply to comment #34) > Is it acceptable to merge wicd-common into wicd package until rpm allow noarch > package to have arch specfic subpackages? AFAIK this is a limitation of the buildsys but not of rpm itself. > Wicd is designed as a non-multiarch > package, making it noarch won't save space for both repos and end users > currently. I know, hence my suggestion: SRPM is "wicd" and builds into - wicd-pm-utils (base-package, arch) - wicd-common (noarch, the name wicd-common was chosen to indicate it is not standalone and because it must not be "wicd" to not become the base-package) - wicd-curses (noarch) - wicd-gtk (noarch) - wicd-gtk will get a "Provides: %{name} = %{version}" so that "yum install wicd" works.
CVS done (by process-cvs-requests.py).
wicd-1.7.0-1.fc13 has been submitted as an update for Fedora 13. http://admin.fedoraproject.org/updates/wicd-1.7.0-1.fc13
wicd-1.7.0-1.fc12 has been submitted as an update for Fedora 12. http://admin.fedoraproject.org/updates/wicd-1.7.0-1.fc12
wicd-1.7.0-1.fc12 has been pushed to the Fedora 12 stable repository. If problems still persist, please make note of it in this bug report.
wicd-1.7.0-1.fc13 has been pushed to the Fedora 13 stable repository. If problems still persist, please make note of it in this bug report.
I've experienced a variety of problems following wicd-1.6.2.1, the most consistent of which is an inability to remember, and therefore automatically connect to, hidden networks. 1.6.2.1 successfully accomplishes this while 1.6.2.2 and 1.7* do not. This applies to use with F11, F12, and F13. I've seen the devs pin these problems on wireless cards, but their old version works and the new ones don't, so this seems inaccurate. I recommend 1.6.2.1 for repository. wicd's overwhelming strength is consistency in that connections aren't dropped. networkmanager struggles with this, especially when dealing with hidden networks. Let's not make this feature obsolete with newer, inferior releases.
FWIW, I've had issues similar to Reese's with wicd>=1.6.2.2 , too, on Centos 5. I ended by downgrading to 1.6.2.1.
Interesting. I'm using the latest version I packaged up and it works fine for me, but out of curiosity do either of you have SELinux enabled? I have a feeling that wicd's daemon may be hitting some SELinux walls when it tries to remember settings.
As far as I remember, selinux was indeed active, but I am 90% positive that I also tried with it in permissive mode. If you want me to, I can perform any tests that you feel that could be useful, but only in Centos 5 ( the only computer at hand with Wi-Fi is a laptop which runs C5; switching to anything else is not an option). As a sidenote and probably not Fedora but RHEL related, on the very same laptop wicd from the Backtrack livecd performs WAY better. But this might be due to the newer kernel module for the Broadcom Wi-Fi chipset used in this oldish Dell.
(In reply to comment #46) > Interesting. I'm using the latest version I packaged up and it works fine for > me, but out of curiosity do either of you have SELinux enabled? I have a > feeling that wicd's daemon may be hitting some SELinux walls when it tries to > remember settings. It's working here as well, I'm only getting these selinux warnings. https://bugzilla.redhat.com/show_bug.cgi?id=596982
(In reply to comment #46) > Interesting. I'm using the latest version I packaged up and it works fine for > me, but out of curiosity do either of you have SELinux enabled? I have a > feeling that wicd's daemon may be hitting some SELinux walls when it tries to > remember settings. The inability to remember hidden networks was not related to SElinux issues, as far as I could tell. (In reply to comment #48) > It's working here as well, I'm only getting these selinux warnings. > https://bugzilla.redhat.com/show_bug.cgi?id=596982 wicd has always "worked" and was able to connect to the forgotten hidden networks once the essid was provided. On the other hand, 1.6.2.1 remembers hidden networks.
Hi everybody, can you please stop these discussions here now and file proper bugs for the remaining problems? This bug deals only with the review but not with functional issues.