Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 14528 - Updated LTModem Ebuild
Summary: Updated LTModem Ebuild
Status: RESOLVED DUPLICATE of bug 7805
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All All
: High enhancement (vote)
Assignee: SpanKY
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-01-25 02:33 UTC by Tom P.
Modified: 2005-07-17 13:06 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
ltmodem-8.26_alpha9-r1.ebuild (ltmodem-8.26_alpha9-r1.ebuild,1.74 KB, text/plain)
2003-01-25 02:35 UTC, Tom P.
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Tom P. 2003-01-25 02:33:55 UTC
I'm Tom Poplawski, I've built many of the ltmodem rpm's for mandrake prior to
mandrake 9.0 (when I switched to Gentoo!)

I'm familiar with the requirements to get the ltmodem working and do have a
laptop which I test and depend on the ltmodem driver.

I tried my hand at a ltmodem ebuild.  This is ebuild works for me.

Since gentoo is not supported by the build some compromises have to be made.  I
will feedback these changes to the developers so ltmodem will directly support
gentoo in the future.

The module will build properly with ./configure make make install, but the
ltinst2 script and build_module fails to do the right thing so that has to be
done manually.

My changes

License - I didn't change this but made a comment that the binary lt_modem
module is Agere Sys Inc proprietary.   All else is GPL.

Added Depend - virtual/linux-sources - Sources must be configured and present in
order to build the module.

src_compile - ./build_module is the proper way to build the module.  Can be
bypassed but you will risk the wrath of the developers fielding the same bug
reports this script was designed to prevent.

Two changes made to build_module - changed make -e to make or else won't build
on gentoo because of the environment overrides.   Exporting FAST=1 means not
having to press enter during the build.  Except  for a recent warning that if
you build the kernel with one gcc ver and build the module with another you may
crash your system because of the gcc 3.x/2.x incompatability.  The developers
feel this warning shouldn't be bypassed.  I left in the replacement of read -p
-> echo to bypass this one pause.  I left these changes separate to make it
obvious and allow easy removal of either as the build script version updates.

src_install - copied two files into etc/modules.d and etc/devfs.d that automate
the insertion of modules on demand and the creation of the symlink to /dev/modem
on demain.  This is the best part of my changes.  Everything should just work
with out any setup besides your isp details.

pkg_postinstall -  Sent -HUP to devfsd to reread new config.  Run update-modules
to add alias for ltmodem modules.  Set einfo to let user know to use /dev/modem
to access modem.  Post install doc needed only if probelms.  Not needed for
normal installs now.

pkg_postrm - Added for consistency.  Send -HUP to devfsd and run update-modules
after removal of ltmodem config files.  But config files not removed because of
config protection in /etc/ directory.  Leaving these in the system could cause
problems in rare cases - if user gets new normal modem but leaves old ltmodem
installed.  LTmodem will still take /dev/modem.  Removing them during a version
update could also cause problems.   I don't know how to solve this.  I feel the
/etc changes should be removed during unmerge unless just a version upgrade. 
Since most user won't have two modems installed this shouldn't be much of a
problem in the field.

TODO - Remove all previous ltmodem versions.  Previous versions of ltmodem are
not gcc 3.0 compatible.  Yes, they do work but could cause system crashes.  This
new version contains gcc 3.x and gcc 2.x binary modules and selects the proper
one to use.   

Also - Could add depend for ppp and make sure kernel config has proper ppp
options to prevent many bug reports.
Comment 1 Tom P. 2003-01-25 02:35:57 UTC
Created attachment 7619 [details]
ltmodem-8.26_alpha9-r1.ebuild
Comment 2 SpanKY gentoo-dev 2003-01-25 17:25:12 UTC
glad to know some of it was correct ;) 
i havent had a modem to test with ... ive added your changes to cvs, thanks 
 
http://cvs.gentoo.org/cgi-bin/viewcvs.cgi/gentoo-x86/net-dialup/ltmodem/ltmodem-8.26_alpha9-r1.ebuild?rev=1.1&content-type=text/vnd.viewcvs-markup 
Comment 3 Tom P. 2003-01-26 00:38:01 UTC
Ebuild doesn't work, missed a change - maybe I rambled on too much last time :-)

In pkg_postinst()  left out HUP to devfsd.  Without the HUP devfsd won't read
config files untill next reboot - therefore, ltmodem won't work untill next
reboot.  The only way to get devfsd to re-read config that I'm aware of is to
send HUP signal using "killall -HUP devfsd".

From the devfsd man
SIGNALS
       devfsd responds to signals in a variety of ways:

       SIGHUP The  configuration  file  is  re-read and any shared objects are
              reloaded. Then the mounted device tree is scanned and  synthetic
              REGISTER events are generated for each leaf node.

From man killall
killall  sends  a  signal to all processes running any of the specified
       commands. If no signal name is specified, SIGTERM is sent.

       Signals can be specified either by name (e.g. -HUP) or by number  (e.g.
       -1).

Therefore, "killall -HUP devfsd" will send the signal HUP to devfsd causing it
to re-read config files.  Works for me.

Without the HUP, I get the error "/dev/modem doesn't exist" untill I reboot or
send the HUP signal to devfsd myself.  Please fix this.

Thanks again for the quick response, glad I could help.

Tom
Comment 4 Denys Duchier 2003-01-30 09:16:26 UTC
what I don't understand is: what is your ebuild doing that mine (7805) wasn't already 
doing at least as well if not better (eg HUP).  This is not meant in an unfriendly way. 
I just don't get it. 
Comment 5 SpanKY gentoo-dev 2003-01-30 13:10:15 UTC
i didnt add the killall since current kernmodules dont use it ... refer to nvidia-kernel, 
emu10k1, and alsa-driver ... 
 
ill look at it some more when i have some free time 
Comment 6 Tom P. 2003-01-31 20:00:41 UTC
Denys,
I never looked at your ebuild since its for an older ltmodem (ltmodem-8.22) and a newer ebuild existed in portage.  If I'd known your ebuild was still maintained I would have started there.  Why didn't you update to the later build scripts?  I realize that the core code may not have changed, but I've worked with the developers in the past and updates to there build scripts are important to keep bug reports down.  
--------------------------------------------------------------------------
SpanKY

The killall is needed by the device filesystem driver (devfs).  My ebuild drops new config files for devfs but they won't be read until devfs is restarted by reboot or -HUP.  See copy of man file in my above comment.

With these config files, devfs will create the link from the ltmodem to /dev/ltmodem on demand.  Without the killall, The ebuild doesn't work untill you reboot... Most users will have given up by then.

I'll look at deny's build and see what the difference is.  

Thanks for the reply's, I'm just trying to help out and I appreciate everyone here!
Comment 7 SpanKY gentoo-dev 2003-02-03 02:31:36 UTC

*** This bug has been marked as a duplicate of 7805 ***
Comment 8 Denys Duchier 2003-02-03 08:02:08 UTC
just for information, 
my ebuild (7805) is not for an older release of ltmodem, rather it started with an older 
release and a new ebuild was added as a newer attachment for the newer release of 
ltmodem.  Thus the original title of the submission may now be misleading. 
 
Cheers, 
Comment 9 Tom P. 2003-06-24 13:49:18 UTC
4 months with no  bug reports or other reported problems with ltmodem ebuild - could this be marked stable?

Tom
Comment 10 SpanKY gentoo-dev 2003-06-24 15:18:50 UTC
done