Bug 198590 - lang/sbcl install 1.2.9 as ports
Summary: lang/sbcl install 1.2.9 as ports
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: John Marino
URL:
Keywords:
: 198688 (view as bug list)
Depends on:
Blocks:
 
Reported: 2015-03-15 05:03 UTC by satosi.kimura
Modified: 2015-03-22 08:17 UTC (History)
2 users (show)

See Also:


Attachments
new Makefile for lang/sbcl (7.42 KB, text/plain)
2015-03-15 05:06 UTC, satosi.kimura
no flags Details
new distinfo for lang/sbcl (1017 bytes, text/plain)
2015-03-15 05:07 UTC, satosi.kimura
no flags Details
new patch file (1) for lang/sbcl (438 bytes, text/plain)
2015-03-15 05:08 UTC, satosi.kimura
no flags Details
new patch file (2) for lang/sbcl (552 bytes, text/plain)
2015-03-15 05:08 UTC, satosi.kimura
no flags Details
new patch file (3) for lang/sbcl (632 bytes, text/plain)
2015-03-15 05:09 UTC, satosi.kimura
no flags Details
new pkg-plist for lang/sbcl (2.17 KB, text/plain)
2015-03-15 05:09 UTC, satosi.kimura
no flags Details
modified pkg-plist (1.85 KB, text/plain)
2015-03-20 14:55 UTC, satosi.kimura
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description satosi.kimura 2015-03-15 05:03:29 UTC
I can install latest sbcl (1.2.9) to FreeBSD/amd64 9.3.
(date of ports.tar.gz is 2014.11.28.)

(1) download source and document of sbcl, i.e
      sbcl-1.2.9-documentation-html.tar.bz2, and
      sbcl-1.2.9-source.tar.bz2
  from http://sbcl.sourceforge.net/ .

# cp sbcl-1.2.9-source.tar.bz2 /usr/ports/distfiles
# cp sbcl-1.2.9-documentation-html.tar.bz2 /usr/ports/distfiles

(2) make by ports
# /usr/ports/lang
# cp -pR sbcl sbcl.orig
# cd sbcl

replace following files by uploaded files.
Makefile
distinfo
pkg-plist
files/patch-contrib__sb-concurrency__tests__test-frlock.lisp
files/patch-contrib__sb-sprof__test.lisp
files/patch-src__runtime__thread.c

# make
# make install
Comment 1 satosi.kimura 2015-03-15 05:06:03 UTC
Created attachment 154311 [details]
new Makefile for lang/sbcl

 I suppose that the following part is to be reconsidered.

do-install:
(snip)
#.for MOD in ${CONTRIB_MODULES}
#       ${INSTALL_DATA} ${WRKSRC}/contrib/${MOD}/*.lisp ${SBCL_HOME}/contrib/
#.endfor

 That is, *.lisp files of contrib were not installed. If install
*.lisp files to "contrib", i.e the same directory in which *.fasl
and *.asd files were installed, making of maxima fails.
So, I set these part "comment out".
Comment 2 satosi.kimura 2015-03-15 05:07:01 UTC
Created attachment 154312 [details]
new distinfo for lang/sbcl
Comment 3 satosi.kimura 2015-03-15 05:08:02 UTC
Created attachment 154313 [details]
new patch file (1) for lang/sbcl
Comment 4 satosi.kimura 2015-03-15 05:08:44 UTC
Created attachment 154314 [details]
new patch file (2) for lang/sbcl
Comment 5 satosi.kimura 2015-03-15 05:09:13 UTC
Created attachment 154315 [details]
new patch file (3) for lang/sbcl
Comment 6 satosi.kimura 2015-03-15 05:09:52 UTC
Created attachment 154316 [details]
new pkg-plist for lang/sbcl
Comment 7 John Marino freebsd_committer freebsd_triage 2015-03-18 14:21:07 UTC
Okay, in general you should upload a single "diff" that replaces/adds/deletes all files at once.

Secondly, Do you have any verification available?  In order of preference, examples of what I'm looking for are:

Output of "portlint" 
(see https://www.freebsd.org/doc/en/books/porters-handbook/testing-portlint.html)

and either

1 PREFERRED) "poudriere testport" or "poudriere bulk -t" logs
(see https://www.freebsd.org/doc/en/books/porters-handbook/testing-poudriere.html)

or

2) make clean && make check-plist && make stage-qa
(this option does not catch missing dependencies and other issues, so it is NOT equivalent to #1 and thus less reliable)


If you can provide poudriere logs that show stage-qa passing cleanly, I'll take this PR.
Comment 8 satosi.kimura 2015-03-20 12:38:27 UTC
> in general you should upload a single "diff"
 I'm sorry. Next time, I will do send-pr with correct manner.

> Do you have any verification available?
 No, I read the log (output to console) at make, make install
and make deinstall, and check directories and files are removed or not.
 So, I will check it according as your examples.

> Output of "portlint" 
WARN: Makefile: [0]: possible direct use of command "sh" found. use ${SH} instead.
WARN: Makefile: possible use of absolute pathname "/usr/bin/nm".
WARN: Makefile: possible use of absolute pathname "/bin/date".
WARN: Makefile: use of DISTFILES with single file discouraged. distribution filename should be set by DISTNAME and EXTRACT_SUFX.
WARN: Makefile: Consider defining LICENSE.
WARN: Makefile: DISTFILES/DISTNAME affects WRKSRC. take caution when changing them.
0 fatal errors and 6 warnings found.

> Output of "poudriere testport"
 Since I am beginner of poudriere, I show the process what I did.

(1) setup jail
# poudriere jail -c -j 93Ramd64 -v 9.3-RELEASE -a amd64
# poudriere jail -l
JAILNAME             VERSION              ARCH    METHOD 
93Ramd64             9.3-RELEASE          amd64   ftp

(2) setup ports tree
# poudriere ports -c
# poudriere ports -l
PORTSTREE            METHOD     PATH
default              portsnap   /usr/local/poudriere/ports/default

(3) modify /usr/local/poudriere/ports/default/lang/sbcl for sbcl 1.2.9

(4) testport
# poudriere testport -j 93Ramd64 -o lang/sbcl >& log.testport
                                                 ^^^^^^^^^^^^

> If you can provide poudriere logs that show stage-qa passing cleanly,
> I'll take this PR.
 I want to confirm what is the "poudriere logs" ?
Outout to console (redirect to file "log.testport") has 89795 lines.
May I upload it, or abstract appropriate parts ?

 The part around stage-qa is as follows:

===========================================================================
====>> Checking for filesystem violations... done
=======================<phase: run-depends    >============================
===========================================================================
=======================<phase: stage          >============================
===>  Staging for sbcl-1.2.9,1
====> Compressing man pages (compress-man)
===========================================================================
====> Running Q/A tests (stage-qa)
====> Checking for pkg-plist issues (check-plist)
===> Parsing plist
===> Checking for items in STAGEDIR missing from pkg-plist
===> Checking for items in pkg-plist which are not in STAGEDIR
===> No pkg-plist issues found (check-plist)
====>> Checking for staging violations... done
=======================<phase: package        >============================
===>  Building package for sbcl-1.2.9,1
pkg-static: Warning: @dirrm[try] is deprecated, please use @dir
===========================================================================
=======================<phase: install-mtree  >============================
===========================================================================
=======================<phase: install        >============================
===>  Installing for sbcl-1.2.9,1
Comment 9 John Marino freebsd_committer freebsd_triage 2015-03-20 12:48:09 UTC
(In reply to satosi.kimura from comment #8)
>  I'm sorry. Next time, I will do send-pr with correct manner.

I don't know if send-pr still works.  Just use the web interface.  It seems that send-pr the cause of a lot of PR submission issues.

> poudriere testport -j 93Ramd64 -o lang/sbcl >& log.testport

You don't have to do that -- logs are automatically created.  I think it even tells you were at the end of the build.


> pkg-static: Warning: @dirrm[try] is deprecated, please use @dir

that's a problem.  *Remove* all the lines containing dirrm in pkg-plist.

Everything else looks okay from what I can tell of your output.
Comment 10 John Marino freebsd_committer freebsd_triage 2015-03-20 12:48:47 UTC
and yes, you can upload logs as an attachment.  People often do that.
Comment 11 satosi.kimura 2015-03-20 14:55:21 UTC
Created attachment 154577 [details]
modified pkg-plist

>>  I'm sorry. Next time, I will do send-pr with correct manner.
> I don't know if send-pr still works.  Just use the web interface.
 I'm sorry once more. "send-pr" means web version, i.e. here.

> logs are automatically created.
 I see. In
/usr/local/poudriere/data/logs/bulk/93Ramd64-default/2015-03-20_01h32m35s/logs/,
there exist logs automatically created.

drwxr-xr-x  2 root  wheel     512 Mar 20 01:33 errors/
-rw-r--r--  3 root  wheel   17086 Mar 20 01:42 expat-2.1.0_2.log
-rw-r--r--  3 root  wheel  165335 Mar 20 01:46 gettext-runtime-0.19.4.log
-rw-r--r--  3 root  wheel  489518 Mar 20 01:52 gettext-tools-0.19.4.log
-rw-r--r--  3 root  wheel  422251 Mar 20 01:47 gmp-5.1.3_2.log
-rw-r--r--  3 root  wheel   10151 Mar 20 01:42 indexinfo-0.2.2.log
-rw-r--r--  3 root  wheel   82624 Mar 20 01:43 libiconv-1.14_6.log
-rw-r--r--  3 root  wheel   30285 Mar 20 01:42 pkg-1.4.12.log
-rw-r--r--  1 root  wheel  3787060 Mar 20 02:30 sbcl-1.2.9,1.log

Directory errors includes no files.

> and yes, you can upload logs as an attachment.
 I attempt to upload sbcl-1.2.9,1.log, but fail with message
"413 Request Entity Too Large", since its size is over 1000 KB.

 Is there any way to send this log ?
(The size of its compression by gzip is 455KB. Is it OK?)

>> pkg-static: Warning: @dirrm[try] is deprecated, please use @dir
> that's a problem.  *Remove* all the lines containing dirrm in pkg-plist.
 Since above error, I cannot advance nor leave this page,
so upload modified pkg-plist instead of log.
Comment 12 John Marino freebsd_committer freebsd_triage 2015-03-20 23:45:36 UTC
That's fine.
In the future, if the log is bigger than 1 Mb, then you can gzip it before uploading.  Don't worry about the log in this case though.  I'll test it myself.
Comment 13 commit-hook freebsd_committer freebsd_triage 2015-03-21 01:55:56 UTC
A commit references this bug:

Author: marino
Date: Sat Mar 21 01:55:19 UTC 2015
New revision: 381785
URL: https://svnweb.freebsd.org/changeset/ports/381785

Log:
  lang/sbcl: Upgrade version 1.1.12 => 1.2.9

  PR:		198590
  Submitted by:	Satosi Kimura (nifty.ne.jp)

Changes:
  head/lang/sbcl/Makefile
  head/lang/sbcl/distinfo
  head/lang/sbcl/files/patch-contrib__sb-concurrency__tests__test-frlock.lisp
  head/lang/sbcl/files/patch-contrib__sb-sprof__test.lisp
  head/lang/sbcl/files/patch-src__runtime__thread.c
  head/lang/sbcl/pkg-plist
Comment 14 John Marino freebsd_committer freebsd_triage 2015-03-21 01:57:32 UTC
It built without error as advertised (tested on FreeBSD 10 amd64 and FreeBSD 84-i386).

Thanks!
Comment 15 John Marino freebsd_committer freebsd_triage 2015-03-22 08:11:54 UTC
*** Bug 198688 has been marked as a duplicate of this bug. ***
Comment 16 commit-hook freebsd_committer freebsd_triage 2015-03-22 08:17:04 UTC
A commit references this bug:

Author: marino
Date: Sun Mar 22 08:16:56 UTC 2015
New revision: 381890
URL: https://svnweb.freebsd.org/changeset/ports/381890

Log:
  lang/sbcl: remove experimental THREADS option; it doesn't build

  PR:	184425, 198590

Changes:
  head/lang/sbcl/Makefile