Definite's Extractor

My findings on Life, Linux, Open Source, and so on.

RHEL 7 mock build with staff_selinux

By default, mock won’t work with staff_selinux mode in RHEL 7. The instruction from Fedora is mostly correct, but insufficient for staff_selinux. This is because:

  1. /usr/bin/mock is now a sym-link to /usr/bin/consolehelper, thus consolehelper permission should be also allowed.
  2. The Fedora mock policy module does not have the types like staff_consolehelper_t.

There are a lot more reasons, but long story short, I have edited a policy file (PackageMaintainers_MockTricks_mock.te) that should covered the most mock usage. My SELinux skill quickly build up by editing that file. 🙂

Time for script that setup the mock, assuming you are running as root:

# getting dependencies
yum -y install selinux-policy-devel policycoreutils-python mock

# Download policy files
wget https://fedoraproject.org/w/uploads/2/2f/PackageMaintainers_MockTricks_mock.if
wget https://fedoraproject.org/w/uploads/7/73/PackageMaintainers_MockTricks_mock.fc
wget https://dchen.fedorapeople.org/files/PackageMaintainers_MockTricks_mock.te

# Build and install
make -f /usr/share/selinux/devel/Makefile
semodule -i PackageMaintainers_MockTricks_mock.pp

That’s it.

But just in case you are still getting SELinux AVC denials, you can get around yourself by using following scripts:

grep -E -e "(mock|consolehelper)" /var/log/audit/audit.log | audit2allow -M my_mock
semodule -i my_mock.pp

Autostart in lxqt + fluxbox

Now day I start playing with fluxbox, which is light weight, yet surprisingly has excellent feature set. For one, it can remember window location  and  size.

The other window mangers that are capable of window remembering have their own downside:

  • KDE: It is indeed full featured but heavy weight. The other weird thing is it asks password for Calendar in Google Chrome whenever my session start, even I do not intent to use it.
  • Enlightenment: starting from 0.20, they dropped systray (Xembed) support. Basically that means the Network Manager and Input Method indicators are gone.

The fluxbox built-in panel (a.k.a. toolbar) has the basic feature sets which I can live with, but it would be better to have the volume control, battery status and popup calendar when I click on the clock.

First candidate is fbpanel, but it’s popup calendar is block by the panel itself.

Then I found lxqt-panel. It has good feature sets like memory graph. But it fail to find the launcher icons, and “logout” won’t logout you.

At last, I came out with use lxqt as session, but fluxbox as window manager. But the autostart did not seem to work. Luckily, you can use startfluxbox as window manager, and you can put whatever you want to autostart in ~/.fluxbox/startup.

Enjoy.

cmake-fedora-2.5.0 is released

  • Enhancement:
    • New Target: changelog_no_force: Does not update ChangeLog if RELEASE-NOTES.txt is newer than ChangeLog.
  • Fixed:
    • MANAGE_ZANATA: Error message that missing right bracket.
      Thanks ChangZhu Chen for pointing it out.
    • Bug 1295278 – cmake-fedora: failed to update version when CMakeCache.txt is newer than RELEASE-NOTES.txt

SELinux for synergy , or generally other tcp/udp services

If you enforcing your SELinux and set your user to non unconfined_u, like either user_u or staff_u. You may found that your synergy or other tcp/udp service stop working. That is because your role cannot listen the ports that your services required.

To allow users to run TCP servers (bind to ports and accept connection from the same domain and outside users), run:

sudo setsebool selinuxuser_tcp_server 1

and for UDP:

sudo setsebool selinuxuser_udp_server 1

Reference:

  1. user SELinux Policy documentation (8)

Fedora: maven-gpg-plugin keep asking passphrase

When doing maven release, maven-gpg-plugin keep showing

請輸入密語: [INFO] gpg: gpg-agent 在此階段無法使用
Enter passphrase: [INFO] gpg: gpg-agent is not available in this session

I literately has to input passphrase dozens (if not hundreds) times. Indeed annoying.

This is because Bug: gpg-1 cannot locate gpg-agent >= 2.1 . But I don’t really want to wait for the package fix. Luckily, gpg2 works, and there is a way to change what maven-gpg-plugin invokes. In other words. add following sections to your ~/.m2/settings.xml

<settings>
  <profiles>
    <profile>
      <id>gpg</id>
      <properties>
        <gpg.executable>gpg2</gpg.executable>
<!-- No need to enter passphrase here, gpg-agent should be working now
        <gpg.passphrase>mypassphrase</gpg.passphrase>
-->
      </properties>
    </profile>
  </profiles>
  <activeProfiles>
    <activeProfile>gpg</activeProfile>
  </activeProfiles>
</settings>

Note that RHEL 7 does not suffer this problem, as in RHEL 7, gpg is actually gpg2. You can use

gpg --version

to verify it.

cmake-fedora-2.4.3 is released

cmake-fedora consists CMake modules and scripts that simplify and automate the release process for software package, especially for Fedora and EPEL.

Even if you are not using CMake on your packages, you can still using following scripts to simplify your package chores. For examples, if you want your packages to be build in koji and submit to bodhi in all active branches like rawhide, f23, f22, f21, simply run

cmake-fedora-fedpkg <SRPM>

It builds the SRPM on all the active branches, skip the already built ones, then submit them to bodhi.

Why some teachers say 5×3 does not mean 5+5+5

A child was marked as incorrect for translating “5×3” to “5+5+5” on a grade school math test.

Further discussion is at http://www.iflscience.com/editors-blog/teacher-marks-child-s-55515-answer-incorrect

According to Common Core: Represent and solve problems involving multiplication and division,  5×3 should be interpret as 5 groups of 3 objects each, which means 3+3+3+3+3.

I think this come from how every-day English express this kind of thing. Like 5 apples (apples appear 5 time), and 5 3’s is similar (3 appears 5 time). This also affect the definition of multiplicand and multiplier. Quote from Wikipedia Multiplication

When thinking of multiplication as repeated addition, the number to be multiplied is called the “multiplicand”, while the number of addends is called the “multiplier”.

In other world, 5×3 should be read as:

3 multiplied by 5

But for division, 5 ÷ 3 is read as:

5 divided by 3

IMHO, this is indeed confusing and inconvenient. If a teacher trying to teach multiplication using the word “multiplied” with blackboard and chalk, she need to

  1. Write 3 first, and say “three”
    Become:  3
  2. Write ×,  and say “multiplied by”
    Become: × 3
  3. Write 5, and say “five”
    Become: 5 × 3

Right to left writing, which is not a usual practice in English.

If the teacher  insists on left to right writing, she has to say “three” when she write “five”. 😛

Luckily, we have times to rescue. 5×3 should be read as:

5 times 3

KDE Plasma: Workaround for maximized windows that expend under panel

It is quite annoying that the maximized windows in KDE go under panel.
Before Workaround

This KDE bug  is a WONTFIX, so no hope from KDE upstream.

However, today I finally discover a workaround: put the panel elsewhere like so:

Panel at top

dchen’s apache-maven is updated to 3.3.3 for el7 and el6

The repo is located at:

https://repos.fedorapeople.org/dchen/apache-maven/

To install this for from yum:

cd /etc/yum.repos.d; sudo wget https://repos.fedorapeople.org/dchen/apache-maven/epel-apache-maven.repo

Enlightenment 0.19.9 and EFL 1.15.1 is ready for RHEL and CentOS 7

I have update the Enlightenment E19 to

  • enlightenment-0.19.9
  • efl-1.15.1
  • elementry-1.15.1

And packages that depend on efl are rebuilt.

In my enlightenment repo, I also put xscreensaver and required dependency.

Note that the packages I built supports neither wayland nor SCIM.