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.
Bug 452872 - Review Request: bmake - The NetBSD make(1) tool
Summary: Review Request: bmake - The NetBSD make(1) tool
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Mamoru TASAKA
QA Contact: Fedora Extras Quality Assurance
Depends On: 453821
TreeView+ depends on / blocked
Reported: 2008-06-25 15:03 UTC by Julio Merino
Modified: 2008-08-12 18:21 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2008-07-10 07:52:52 UTC
mtasaka: fedora-review+
kevin: fedora-cvs+

Attachments (Terms of Use)

Description Julio Merino 2008-06-25 15:03:32 UTC
Spec URL:

bmake, the NetBSD make(1) tool, is a program designed to simplify the
maintenance of other programs.  The input of bmake is a list of specifications
indicating the files upon which the targets (programs and other files) depend.
bmake then detects which targets are out of date based on their dependencies
and triggers the necessary commands to bring them up to date when that happens.

bmake is similar to GNU make, even though the syntax for the advanced features
supported in Makefiles is very different.


This is my first Fedora RPM and I do not currently have a sponsor.

Comment 1 Mamoru TASAKA 2008-07-01 17:29:49 UTC
Some random comments 0.20080515-1:

* Versioning
  - If you think %bmake_date should not be treated as a formal
    version, then versioning this package as
    (i.e. version 0, release number 0.X.%{bmake_date} with suffix
          %{?dist} where X is incremented every time you modify
          your spec file)
    is better.

  - Also please remove Epoch.

* BuildRequires
  - This does not build on dist-f10:
    "BuildRequires: util-linux" is needed (on F-10 util-linux-ng
    Provides util-linux)

* %prep usage
%setup -q -n bmake
tar -x -z -f %{SOURCE1}
  - can be replaced by
%setup -q -n %{name} -a 1

* %defattr
  - Now we recommend %defattr(-,root,root,-)

* Directory issue
  - The man directory %{_mandir}/cat1 is nonusual. Please move
    the man file to section 1 or explain why you want to "create"
    cat1 directory.

* Permission issue
  - The directory %{_datadir}/mk has 0775 permission, which should usually
    be 0755.

  - And bmake.1 has 0444 permission, which should be 0644.

! Timestamps
  - This package installs many .mk files which are not modified during
    build and preserving timestamps on those files are preferable.
    Consider to add
sed -i.timestamp -e 's|^cp_f=-f|cp_f=-pf|' mk/install-mk
    at %prep to keep timestamps on those files.

Comment 2 Julio Merino 2008-07-02 12:58:44 UTC
Thank you for your comments, Mamoru.  The fixed files can be found at:

Spec URL:

* I have removed the 0. number from the beginning of the version.
  The NetBSD package does not do this, and considering that that
  package is the official one, Fedora can as well use the same
  policy for the versioning.

* The cat1 directory is gone.  man/cat1 is the directory used
  in NetBSD to hold the preformatted manual pages.  bmake
  installs only the preformatted one because some systems do
  not have the mdoc macro set and therefore cannot format the
  page correctly.  I have modified the package to install the
  mdoc page into the correct place, and everything seems to
  work just fine.

Now... maybe it'd be a better idea to package the mk files on their own, given
that they are distributed separately mainstream and carry a different version
number?  That will require some tricky hacks in the makefile, but may be better
for packaging reasons.

Thanks again.

Comment 3 Mamoru TASAKA 2008-07-02 13:13:01 UTC
Before checking your srpm on comment 2:
(In reply to comment #2)
> Now... maybe it'd be a better idea to package the mk files on their own, given
> that they are distributed separately mainstream and carry a different version
> number?  

Of course it is preferable.

> That will require some tricky hacks in the makefile, 
Perhaps creating mk/ directory under %builddir/bmake and creating symlinks under
mk/ which point to  the installed mk files (under %_datadir/mk) will do the trick
(although I have not checked it).
When you do so, please submit another review request for "mk".

> for packaging reasons.
> Thanks again.

Comment 4 Julio Merino 2008-07-02 13:22:07 UTC
Well, the configure script has a flag to tell it where the mk files are, so it
is a matter of pointing it to the installed ones.  However, I'll have to make
the bmake makefile skip the installation of the mk files, because they are
already in place.  Tricky, but not difficult.

Anyway, you mention the name "mk".  It might be better to use the "mk-files"
name, even if it does not match the tarball name, just to make it consistent
with the one used in NetBSD.

Will submit the new package as soon as I have it, and will mark this bug report
dependent on the new one.

Comment 5 Julio Merino 2008-07-02 19:27:48 UTC
OK, I've submitted the mk-files package I mentioned and updated the bmake one.

Correct addresses for bmake are:

Spec URL:

Comment 6 Mamoru TASAKA 2008-07-03 06:40:32 UTC
* Without "BuildRequires: mk-files", your srpm on comment 5 does not build.
  Please add this.
* Perhaps Requires: mk-files *">= 20070430"* is redundant.

Other things are okay.
! Note: Usually to keep timestamps on installed files, when using "install" or
        "cp" commands, "-p" option must be added. However for this package
        all files (except for %doc files) are modified during build and "-p"
        option does not make sense.

              This package (bmake) is APPROVED by me

Comment 7 Julio Merino 2008-07-03 19:14:23 UTC
Argh, bad habits from other packaging systems.  I assumed Requires implied

As regards the version number in the dependency of mk-files, yes, it is probably
redundant.  I listed the version to ensure that any installation of a specific
bmake package had a (minor) known version of mk-files.  But since the two
packages are new, it makes little sense.  (Plus I just rechecked the NetBSD
package and it does not list any version explicitly.)

I've fixed these two issues and updated the Spec and SRPM files.

Comment 8 Mamoru TASAKA 2008-07-07 05:10:21 UTC
Well, okay, so as I wrote in bug 453821 would you follow "Join" wiki again
so that I can sponsor you?

Comment 9 Julio Merino 2008-07-07 06:46:49 UTC
Yes, sorry Mamoru.  I already did the steps until the "Get Sponsored" section,
but was waiting to tell you because I'm rather busy this week with work stuff.

Anyway.  The account I set up in FAS is named jmmv.  Now, from what I
understood, I cannot continue doing the steps from the "Add Package to CVS and
Set Owner" section onwards.  Either I need to gain some privileges (be
sponsored?) or someone else has to do the cvs work for me; is that right?

Thank you for your help.

Comment 10 Mamoru TASAKA 2008-07-09 06:26:57 UTC
SOrry, for some unknown reason I missed your previous comment 9.

Anyway, first please fix your FAS email address. This (FAS email address) must
coincide with that of your bugzilla account (or create another bugzilla account with
the same address on FAS)

Comment 11 Julio Merino 2008-07-09 06:56:53 UTC
OK, email address changed in FAS.

Comment 12 Mamoru TASAKA 2008-07-09 07:12:41 UTC
But while I see your bugilla email is, current FAS email address
is ?

Comment 13 Julio Merino 2008-07-09 07:16:53 UTC
I see... well, the correct spelling for the domain name is (even
though case does not matter for a domain name).  I am pretty sure I signed up in
bugzilla using the mixed case, but it seems case is ignored by bugzilla.  I can
change the FAS account once again to make it lowercase, if it is needed.

Comment 14 Mamoru TASAKA 2008-07-09 07:45:13 UTC
Okay, now I am sponsoring you. Please follow "Join" wiki again.

Comment 15 Julio Merino 2008-07-09 11:05:53 UTC
New Package CVS Request
Package Name: bmake
Short Description: The NetBSD make(1) tool
Owners: jmmv
Cvsextras Commits: yes

Comment 16 Julio Merino 2008-07-09 12:28:02 UTC
OK, I thought adding a package to a branch was a later step.  Adding F-9 now, as
suggested by mtasaka.

New Package CVS Request
Package Name: bmake
Short Description: The NetBSD make(1) tool
Owners: jmmv
Branches: F-9
Cvsextras Commits: yes

Comment 17 Kevin Fenzi 2008-07-09 16:55:19 UTC
cvs done.

Comment 18 Fedora Update System 2008-07-10 07:16:35 UTC
bmake-20080515-1.fc9,mk-files-20070430-1.fc9 has been submitted as an update for Fedora 9

Comment 19 Mamoru TASAKA 2008-07-10 07:52:52 UTC

Comment 20 Mamoru TASAKA 2008-07-10 07:57:08 UTC
When you think enough time has passed since these packages are pushed to testing
repo (the judgment is left to you), please modify the request to move these
packages to from testing to stable repo on bodhi.

Comment 21 Julio Merino 2008-07-10 08:35:41 UTC
Okay.  I'll do some tests when it is available for installation and then, if all
goes well, wait some time to push it to stable.  Thanks for all your help and

Comment 22 Fedora Update System 2008-08-12 18:21:24 UTC
bmake-20080515-1.fc9, mk-files-20070430-1.fc9 has been pushed to the Fedora 9 stable repository.  If problems still persist, please make note of it in this bug report.

Note You need to log in before you can comment on or make changes to this bug.