.
FRDCSA | internal codebases | Packager
Homepage

[Project image]
Packager

Architecture Diagram: GIF
Code: GitHub

Jump to: Project Description | Parent Description | Capabilities

Project Description

RADAR/Packager/Architect are the core applications of the CSA component of the FRDCSA project. CSA stands for Cluster, Study, and Apply. Therefore RADAR provies the Cluster capability, Packager the Study capability, and Architect the Apply capability. Here is a typical use of Packager. Note that the transcript will not show the editting of the debian/control, Makefile, and debian/dirs file.

~ $ packager lapis
Select CodeBase
&Chose:lapis>
&Chose:1.2>
0) Stash
1) Extract
2) Build
3) Rebuild
4) Test
5) Edit
6) DpkgInstall
7) Upload
8) AptGetInstall
9) RemovePackage
10) RemoveSandbox
11) RemoveExternal
8
Already extracted
cd /var/lib/myfrdcsa/sandbox/lapis-1.2/lapis-1.2 && dh_make
Execute this command?: y

Type of package: single binary, multiple binary, library, or kernel module?
 [s/m/l/k] s

Maintainer name : Andrew J. Dougherty
Email-Address   : ajd@frdcsa.org 
Date            : Tue, 21 Jun 2005 00:22:47 -0400
Package Name    : lapis
Version         : 1.2
Type of Package : Single
Hit &enter> to confirm: y
Currently there is no top level Makefile. This may require additional tuning.
Done. Please edit the files in the debian/ subdirectory now. You should also
check that the lapis Makefiles install into $DESTDIR and not in / .
Please select files for /usr/bin
  0) Finished
> 0
Displaying licenses:
This software was written by Eric Brill. This software is being provided to you. You agree that you have read. Will comply with these terms and conditions: Permission to [use. This software and its documentation for any purpose and without fee or royalty] is hereby granted. THIS SOFTWARE IS PROVIDED "AS IS". MAKES NO REPRESENTATIONS OR WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE LICENSED SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS.
V 1.1 2003/02/22 18:24:19 rcm Exp $ Jacl 1.1.1 and Tcl Blend 1.1.1 binaries are released with the following copyrights Copyright (c) 1997-1999 The Regents of the University of California. Permission is hereby granted. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS. Jacl1.0 and Tcl Blend 1.0 binaries were release by Sun with the following license terms. THROUGH ITS SUN MICROSYSTEMS LABORATORIES DIVISION ("SUN") WILL LICENSE THIS SOFTWARE AND THE ACCOMPANYING DOCUMENTATION TO YOU (a "Licensee") ONLY ON YOUR ACCEPTANCE OF ALL THE TERMS SET FORTH BELOW. The Software is copyrighted by Sun and other third parties and Licensee shall retain and reproduce all copyright and other notices presently on the Software. Sun is the sole owner of all rights in and to the Software other than the limited rights granted to Licensee herein. Licensee will own its Modifications. Licensee will. THE SOFTWARE IS BEING PROVIDED TO LICENSEE "AS IS" AND ALL EXPRESS OR IMPLIED CONDITIONS AND WARRANTIES.
- This software was written by Eric Brill. This software is being provided to you. You agree that you have read. Will comply with these terms and conditions: Permission to [use. This software and its documentation for any purpose and without fee or royalty] is hereby granted. THIS SOFTWARE IS PROVIDED "AS IS". MAKES NO REPRESENTATIONS OR WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE LICENSED SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS.
V 1.1 2000/08/25 01:28:50 rcm Exp $ Jacl 1.1.1 and Tcl Blend 1.1.1 binaries are released with the following copyrights Copyright (c) 1997-1999 The Regents of the University of California. Permission is hereby granted. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS. Jacl1.0 and Tcl Blend 1.0 binaries were release by Sun with the following license terms. THROUGH ITS SUN MICROSYSTEMS LABORATORIES DIVISION ("SUN") WILL LICENSE THIS SOFTWARE AND THE ACCOMPANYING DOCUMENTATION TO YOU (a "Licensee") ONLY ON YOUR ACCEPTANCE OF ALL THE TERMS SET FORTH BELOW. The Software is copyrighted by Sun and other third parties and Licensee shall retain and reproduce all copyright and other notices presently on the Software. Sun is the sole owner of all rights in and to the Software other than the limited rights granted to Licensee herein. Licensee will own its Modifications. Licensee will. THE SOFTWARE IS BEING PROVIDED TO LICENSEE "AS IS" AND ALL EXPRESS OR IMPLIED CONDITIONS AND WARRANTIES.
This package was debianized by Andrew J.
Displaying documentation:
0) &Cancel>
1) &Other>
2) This program was written by Eric Brill (brill@goldilocks.lcs.mit.edu) Feel free to contact me with any questions.
3) My email address will be brill@blaze.cs.jhu.edu) Feel free to contact me with any questions.
4) My email address will be brill@blaze.cs.jhu.edu) Feel free to contact me with any questions.
5) My email address will be brill@blaze.cs.jhu.edu) Feel free to contact me with any questions.
6) This program was written by Eric Brill (brill@goldilocks.lcs.mit.edu) (After July 1 1994.
7) This program was written at the Department of Computer and Information Science.
8) LAPIS is a lightweight structured text editing system. These instructions assume that you have Java 1.4 or later installed on your computer.
9) 
8
0) &Cancel>
1) &Other>
2) This program was written by Eric Brill (brill@goldilocks.lcs.mit.edu) Feel free to contact me with any questions. My email address will be brill@blaze.cs.jhu.edu) =============================================================================== THIS SOFTWARE IS PROVIDED "AS IS". MAKES NO REPRESENTATIONS OR WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE LICENSED SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS. See the papers listed at the end of this file. =================================================================== Tagging is done in two stages. Every word is assigned its most likely tag in isolation. A list of transformations is provided for determining the most likely tag for words not in the lexicon. Unknown words are first assumed to be nouns (proper nouns if capitalized). Adjacent word cooccurrence are used to change the guess of most likely tag. Contextual transformations are used to improve accuracy. =================================================================== To compile the programs.
3) My email address will be brill@blaze.cs.jhu.edu) Feel free to contact me with any questions. . . . =============================================================== THIS SOFTWARE IS PROVIDED "AS IS". MAKES NO REPRESENTATIONS OR WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE LICENSED SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS. My email address will be brill@blaze.cs.jhu.edu). =============================================================== About the README files (all of which can be found in the Docs/ directory): If you don't care how it works. Just want to use it as-is. See: aaai94-tagger.ps ================================================================ IMPORTANT: If you have retrieved this program via anonymous ftp. Please send me mail letting me know that you are using the tagger so I can keep you up to date on bug fixes. Etc. =============================================================== For a detailed description of the tagger (beyond what is contained in the README files).
4) My email address will be brill@blaze.cs.jhu.edu) Feel free to contact me with any questions. . . . ======================================================================== THIS SOFTWARE IS PROVIDED "AS IS". MAKES NO REPRESENTATIONS OR WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE LICENSED SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS. There are two stages in training: (1) Rules are learned to predict the most likely tag for unknown words. It is probably a past tense verb). If the outcome of applying these rules is that a word should be tagged with a particular tag. This holds for all occurrences of the word in the corpus. (2) Rules are learned to use contextual cues to improve tagging accuracy. (Example: change the tag of a word from verb to noun if the previous word is tagged as a determiner). So: John (I think) said: "Who are you?". He then gave me $10. would become: John ( I think ) said : " Who are you ? " He then gave me $ 10 .
5) My email address will be brill@blaze.cs.jhu.edu) Feel free to contact me with any questions. . . . =============================================================== THIS SOFTWARE IS PROVIDED "AS IS". MAKES NO REPRESENTATIONS OR WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE LICENSED SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS. Type (in the tagger base directory): make or first edit the Makefile to suit your needs. =============================================================== (If you have altered the file structure of the tagger after untarring the programs. Then you will have to adjust the instructions accordingly). Type: tagger LEXICON YOUR-CORPUS BIGRAMS LEXICALRULEFULE CONTEXTUALRULEFILE where YOUR-CORPUS is the file name of the corpus you wish to have tagged. The other files are all provided with the tagger. Options (which are typed after the file names) are: -h :: help -w wordlist :: provide an extra set of words beyond those in LEXICON.
6) This program was written by Eric Brill (brill@goldilocks.lcs.mit.edu) (After July 1 1994. My email address will be brill@blaze.cs.jhu.edu) Feel free to contact me with any questions. . . . =============================================================================== THIS SOFTWARE IS PROVIDED "AS IS". MAKES NO REPRESENTATIONS OR WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE LICENSED SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS. TRADEMARKS OR OTHER RIGHTS. ============================================================================= Please Read The COPYRIGHT file included with the tagger. ============================================================================= Code for training and tagging in n-best mode is provided with this release. This code is still under development. Is provided in prerelease form. In case anybody may have use for it. We will clean up this code. Text is passed through the start state tagger.
7) This program was written at the Department of Computer and Information Science. You might have to edit the make file for your machine. The executables will by default be placed in the "Bin" directory.
8) LAPIS is a lightweight structured text editing system. These instructions assume that you have Java 1.4 or later installed on your computer. Which is the only installation required. So all you have to do is run LAPIS. - The distribution is precompiled. The source code for LAPIS is included with the distribution in the file src.zip. LAPIS is written in Java. The generated source files and CUP runtime classes are included in the source distribution. LAPIS is free software. Redistribution is allowed under the terms of the GNU General Public License.
9) 
8
Waiting for Emacs...Done
Waiting for Emacs...Done
Waiting for Emacs...Done
Have you made all your edits?: y
dpkg-buildpackage -rfakeroot -uc -us
Execute this command?: y
dpkg-buildpackage: source package is lapis
dpkg-buildpackage: source version is 1.2-1
dpkg-buildpackage: source maintainer is Andrew J. Dougherty &ajd@frdcsa.org>
dpkg-buildpackage: host architecture is i386
 fakeroot debian/rules clean
dh_testdir
dh_testroot
rm -f build-stamp configure-stamp
# Add here commands to clean up after the build process.
/usr/bin/make clean
make[1]: Entering directory `/var/lib/myfrdcsa/sandbox/lapis-1.2/lapis-1.2'
(find . | grep '~$' | xargs rm) || true
make[1]: Leaving directory `/var/lib/myfrdcsa/sandbox/lapis-1.2/lapis-1.2'
dh_clean 
 dpkg-source -b lapis-1.2
dpkg-source: building lapis in lapis_1.2.orig.tar.gz
dpkg-source: building lapis in lapis_1.2-1.diff.gz
dpkg-source: warning: file debian/dirs has no final newline (either original or modified version)
dpkg-source: building lapis in lapis_1.2-1.dsc
 debian/rules build
dh_testdir
# Add here commands to configure the package.
touch configure-stamp
dh_testdir
# Add here commands to compile the package.
/usr/bin/make
make[1]: Entering directory `/var/lib/myfrdcsa/sandbox/lapis-1.2/lapis-1.2'
make[1]: Nothing to be done for `configure'.
make[1]: Leaving directory `/var/lib/myfrdcsa/sandbox/lapis-1.2/lapis-1.2'
#/usr/bin/docbook-to-man debian/lapis.sgml > lapis.1
touch build-stamp
 fakeroot debian/rules binary
dh_testdir
dh_testroot
dh_clean -k 
dh_installdirs
# Add here commands to install the package into debian/lapis.
/usr/bin/make install DESTDIR=/var/lib/myfrdcsa/sandbox/lapis-1.2/lapis-1.2/debian/lapis
make[1]: Entering directory `/var/lib/myfrdcsa/sandbox/lapis-1.2/lapis-1.2'
# cp -ar /var/lib/myfrdcsa/sandbox/lapis-1.2/lapis-1.2/debian/lapis/etc
# cp -ar /var/lib/myfrdcsa/sandbox/lapis-1.2/lapis-1.2/debian/lapis/etc/cron.d
cp -ar bin/lapis /var/lib/myfrdcsa/sandbox/lapis-1.2/lapis-1.2/debian/lapis/usr/bin
cp -ar ChangeLog README index.html quickstart.html /var/lib/myfrdcsa/sandbox/lapis-1.2/lapis-1.2/debian/lapis/usr/share/doc/lapis
cp -ar lib legal parsers /var/lib/myfrdcsa/sandbox/lapis-1.2/lapis-1.2/debian/lapis/usr/share/lapis
# cp -ar /var/lib/myfrdcsa/sandbox/lapis-1.2/lapis-1.2/debian/lapis/var/lib/lapis
make[1]: Leaving directory `/var/lib/myfrdcsa/sandbox/lapis-1.2/lapis-1.2'
dh_testdir
dh_testroot
dh_installchangelogs ChangeLog
dh_installdocs
dh_installexamples
dh_installman
dh_link
dh_strip
dh_compress
dh_fixperms
dh_installdeb
dh_shlibdeps
dh_gencontrol
dpkg-gencontrol: warning: unknown substitution variable ${misc:Depends}
dh_md5sums
dh_builddeb
dpkg-deb: building package `lapis' in `../lapis_1.2-1_i386.deb'.
 dpkg-genchanges
dpkg-genchanges: including full source code in upload
dpkg-buildpackage: full upload (original source is included)
lintian -vi /var/lib/myfrdcsa/sandbox/lapis-1.2/lapis_1.2-1_i386.changes
Execute this command?: n
ln -s /var/lib/myfrdcsa/sandbox/lapis-1.2 /var/lib/myfrdcsa/packages/binary
Execute this command?: y
dput -f -c ~/.dput.cf -u local /var/lib/myfrdcsa/sandbox/lapis-1.2/lapis_1.2-1_i386.changes
Execute this command?: y
Successfully uploaded packages.
Not running dinstall.

Capabilities

  • Fix packager, to be able to do `packager -y ./cff.tar.gz`
  • packager see sbt
  • packager can use constraints from CLP.
  • packager: see cme: https://github.com/dod38fr/config-model/wiki/Managing-Debian-packages-with-cme
  • Get rid of asking to run packager after we install git package, or rather, have it detect it's a git package and generate the special external codebase for it. ask if it should update the git repo too.
  • packager see: http://win-builds.org/doku.php
  • For packager, when we get kbfs going especially w/ the prolog aspects we can use a logic program to assert that the files respect the criteria we need, such as permissions and such.
  • Add to packager the ability to create/sync with github.com
  • Add an option to clean packager build environment. i.e. get rid of all the files that aren't .orig.xz or the dir, and some in dir/debian
  • Reload the items for auto-packager.
  • Add to packager the ability to back it up before first running the dpkg-buildpackage command. Also don't forget to not run the -nc this time around.
  • Figure out what it is doing at the start of 'packager ' that is dependent on file size.
  • Add to packager the ability to package a git repository that's been downloaded, by copying it to sandbox properly.
  • packager `ls -1 | grep -vE '\bdebian\b' | xargs echo`
  • Have packager automatically add the section tag based on folksonomy results.
  • Equip packager to be able to install .jar files automatically.
  • Note that just now in trying to extract a system with packager it attempted to build a package
  • Develop functions for asserting things about packages and systems. So for instance, we need to have cso interact with something to have bindings for asserting things associated with the systems. Like the previous unilang entry which states that dtrx can be used with packager.
  • Maybe this can be used with packager: dtrx - intelligently extract multiple archive types
  • auto-packager should use data enrichment of package orig.tar.gz, debian/* and included patches via sayer/thinker, nlu and kbfs as input features to various machine learning systems in order to determine how to automatically package something for Debian. brilliant. difficult though.
  • Add to packager the initial attempt to compile the software, and the iterative process of repeating that, and also the objdump command to locate software required to install that is already, automatically gather the package information.
  • Add to packager to use git-buildpackage.
  • Add to packager to use rules instead of modifying the Makefile
  • Add to packager to use pbuilder.
  • Add to packager the ability to check this file: http://www.debian.org/devel/wnpp/being_packaged to see if it's already being packaged.
  • Create minor kbfs modes for things like packager, etc.
  • Add stuff to packager to handle repositories and collections namespaces, and to copy the files to sandbox correctly, taking on a version or date string correctly.
  • Write a new version of packager in AOP AOSE.
  • Add cases to packager to be able to package things like flora2 from the svn dir.
  • Add to radar and packager the ability to deal with individual files instead of packages, such as http://www.cs.toronto.edu/cogrobo/Systems/golog_swi.pl.
  • Add dataset methods to radar/packager
  • Determine why packager takes so long to load.
  • packager should record operation history on other packages.
  • packager should use SubsetSelect when extracting files.
  • Add alien support to packager.
  • Also, can use that more generally with packager.
  • Module::ScanDeps for packager
  • packager should recognize other format packages and package those.
  • Add to packager the ability to generate debs from various packages.
  • Convert packager to run off of jason.
  • packager - checkout "Mock"
  • Can use the following rules in packager to generate a mostly functional package : use mime types to move text type files into doc, get rid of the Makefile debian *~ files, and put the rest in /var/lib/
  • Convert packager/scripts/package-lookup-by-description.pl into a search functionality for cso
  • packager could really make use of brainleach, eh!
  • Fix packager being called two times after radar (0 2)
  • Handle the case of a single executable for packager.
  • Add support to packager for perl module makefiles.
  • Fix the mechanisms of packager for extracting multiple files simultaneously
  • Add a clean option to packager.
  • Get packager to build source packages.
  • Add a feature to the task1 which ensure there are no conflicts between existing packages and the created ones. Also add to packager.
  • Write a special case of packager for packaging datasets. Should be very easy.
  • To note with auto-packager, just because a file has been moved intact does not me we can infer it is a simple copy, it could have gone through a filter just in this case remained intact.
  • packager: What to do when there already is a makefile?
  • one way to make auto-packager work better would be to get brainleach working, then run it on packaging several systems, then use the data.
  • auto-packager must deal with multiple systems with the same binary names.
  • Here are some ideas for auto-packager, use a vector of features on the orig.tar.gz and on the source deb.
  • cso/ architect packager should measure demand.
  • packager use checkinstall
  • How does a packager maintain the packages they are maintaining.
  • while it makes sense to write a make system, these systems are obviously open and hence we cannot expect that everyone will be using the same system. we can realisticly expect, however, that the majority of systems follow a few, not so diverse rules for building and making their systems. Thus it follows that making a universal packager is actually a straightforward goal. And it is a positively reinforcing one, since as it makes more packages it increases the likelihood that the existing systems are already packaged, which reduces the difficulty of packaging.
  • as part of our packager, we can also do an automatic rating system which analyzes the extent to which one can expect to have the given software perform a useful function, and also as it stands wrt our goals.
  • the way an auto packager will handle a program tgz is the same as the way kbfs and Digest will break it down.


This page is part of the FWeb package.
Last updated Sat Oct 26 16:54:00 EDT 2019 .